gpt4 book ai didi

Javascript forEach 只将原始对象中的最后一个键/值对添加到新对象中

转载 作者:行者123 更新时间:2023-12-01 00:44:54 25 4
gpt4 key购买 nike

我有一个 items 对象,其数据结构如下:

[
{
"date": "31/03/2019",
"code": 10,
"type": "submission",
"performance": 95,
},
// Continues 100s of times
]

我正在尝试使用其中一些键/值对但采用不同的结构来创建一个名为 performanceSeries 的新对象,最终得到以下结果:

[
{
"id": "Performance",
"data": [
{
"x": "31/03/2019",
"y": 95
},
// Continues 100s of times
]
},
]

在我的代码中,我创建了新对象,然后使用 forEach 循环添加 dateperformance 键/值对原始对象。我得到了正确的对象结构,但我只从原始对象中获取了最后一个键/值对,仅此而已(应该有 100 个)。

const performanceSeries = {
id: "Performance",
data: {}
};

Object.keys(items).forEach(function (key) {
performanceSeries.data["x"] = items[key].date;
performanceSeries.data["y"] = items[key].performance;
})

最佳答案

data 应该是一个数组,不是吗?

 const performanceSeries = {
id: "Performance",
data: [],
};

您可以.push新对象到该数组中

  for(const { date, performance } of items)
performanceSeries.data.push({ x: date, y: performance });

旁注:数组上的 Object.keys 没有多大意义,特别是当您根本不需要键而只需要值时。有 for...of 来实现这一点。

关于Javascript forEach 只将原始对象中的最后一个键/值对添加到新对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57476476/

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