gpt4 book ai didi

javascript - 在 ES6 中映射对象并将键推送到值

转载 作者:行者123 更新时间:2023-11-28 14:29:43 25 4
gpt4 key购买 nike

我有以下对象:

expenditures: {
byId: {
'-LK6x1d5vJxhsbtD4KvF': {
categoryId: 12,
createdAt: 1534510508671,
day: 1534464000000,
description: 'stuff',
updatedAt: 1534510508671,
value: -1.2
},
'-LK6x5tCFOrQZ0nXZO2x': {
categoryId: 13,
createdAt: 1534510526087,
day: 1534464000000,
description: 'food',
updatedAt: 1534510526087,
value: -8.6
},
}
}

我想要做的是映射 byId 对象,并将每个元素的键作为 id 值。像这样的事情:

expenditures: {
byId: {
'-LK6x1d5vJxhsbtD4KvF': {
categoryId: 12,
createdAt: 1534510508671,
day: 1534464000000,
description: 'stuff',
updatedAt: 1534510508671,
value: -1.2,
id: '-LK6x1d5vJxhsbtD4KvF',
},
'-LK6x5tCFOrQZ0nXZO2x': {
categoryId: 13,
createdAt: 1534510526087,
day: 1534464000000,
description: 'food',
updatedAt: 1534510526087,
value: -8.6,
id: '-LK6x5tCFOrQZ0nXZO2x',
},
}
}

我怎样才能实现这一目标?我知道谁使用 Object.keys()Object.values() 映射对象,但我不知道如何将键作为值。

最佳答案

以下是如何使用 ES6 对象扩展运算符实现您的目标。

const expendituresWithId = {
byId: Object.keys(expenditures.byId).map(key => {
return {
[key]: {
...expenditures.byId[key],
id: key
}
}
})
}

使用此解决方案,您无需更改原始对象。

关于javascript - 在 ES6 中映射对象并将键推送到值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51900940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com