У меня есть такой объект
{ -L1Rm6VbfLLyFJ3Qi6K: {city: "Tokyo", date: "26-08-2004" } }и я хочу преобразовать этот объект следующим образом:
{ id:"-L1Rm6VbfLLyFJ3Qi6K", city: "Tokyo", date: "26-08-2004" }Как я могу это сделать? Спасибо...
Я не хочу помещать этот объект в массив, я знаю так...
Может ли ваш объект иметь несколько ключей?
Как и выше, не так много



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете взять Объект.записи и карта их в желаемом формате.
let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
let op = Object.entries(obj).map(([key,value]) => ({
id: key,
...value,
}))
console.info(op)Я не хочу помещать этот объект в массив, все, что мне нужно, это объект...
@SerdarGun Вы можете получить доступ к объекту внутри массива, не так ли? у вашего ввода есть только одна такая структура или их может быть много?
Я не знаю, в моем приложении есть проблема, и я пытаюсь использовать свой код по-разному. Я просто хотел узнать таким образом, это может решить мою проблему :(
Если объект будет одним ключевым значением, используйте это, в противном случае, как предложил @Code Maniac, вы должны использовать карту или forEach
const obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
const newobj = {
id: Object.keys(obj)[0],
...obj[Object.keys(obj)]
}
console.info(newobj)Может ты так выглядишь?
const obj1 = { "-L1Rm6VbfLLyFJ3Qi6K": {city: "Tokyo", date: "26-08-2004" } }
const obj2 = {}
for (const id in obj1) {
Object.assign(obj2, { id, ...obj1[id] })
}
console.info(obj2);или повторно использовать старый объект таким образом?
const obj1 = { "-L1Rm6VbfLLyFJ3Qi6K": {city: "Tokyo", date: "26-08-2004" } }
for (const id in obj1) {
Object.assign(obj1, { id, ...obj1[id] })
delete obj1[id];
}
console.info(obj1);если есть только один объект/индекс, к которому вы можете получить доступ таким образом.
let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
let op = Object.entries(obj).map(([key,value]) => ({
id: key,
...value,
}))
console.info(op[0])
Используйте lodash, карту!