我有一个像这样的对象
{ -L1Rm6VbfLLyFJ3Qi6K: {city: "Tokyo", date: "26-08-2004" } }
我想像这样转换这个对象:
{ id:"-L1Rm6VbfLLyFJ3Qi6K", city: "Tokyo", date: "26-08-2004" }
我怎样才能做到这一点?谢谢...
您可以以所需的格式获取Object.entries和map。
let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
let op = Object.entries(obj).map(([key,value]) => ({
id: key,
...value,
}))
console.log(op)
如果只有一个对象/索引,则可以通过这种方式访问。
let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
let op = Object.entries(obj).map(([key,value]) => ({
id: key,
...value,
}))
console.log(op[0])
如果对象将成为一个键值,那么使用它,否则,就像@Code Maniac建议的那样,你应该使用map或forEach
const obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }
const newobj = {
id: Object.keys(obj)[0],
...obj[Object.keys(obj)]
}
console.log(newobj)
也许你看起来像这样?
const obj1 = { "-L1Rm6VbfLLyFJ3Qi6K": {city: "Tokyo", date: "26-08-2004" } }
const obj2 = {}
for (const id in obj1) {
Object.assign(obj2, { id, ...obj1[id] })
}
console.log(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.log(obj1);