Javascript forEach只将原始对象的最后一个键/值对添加到新对象
我有一个Javascript forEach只将原始对象的最后一个键/值对添加到新对象,javascript,object,Javascript,Object,我有一个items对象,其数据结构如下: [ { "date": "31/03/2019", "code": 10, "type": "submission", "performance": 95, }, // Continues 100s of times ] 我正在尝试创建一个名为performanceSeries的新对象,使用这些键/值对中的一些键/值对,但采用不同的结构,最终得到以下结果: [ { "id": "Performan
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
循环从原始对象添加date
和performance
键/值对。我得到了正确的对象结构,但我只从原始对象获得了最后一个键/值对,除此之外什么都没有(应该有100个)
数据
应该是一个数组,不是吗
const performanceSeries = {
id: "Performance",
data: [],
};
您可以。将
新对象推送到该数组中
for(const { date, performance } of items)
performanceSeries.data.push({ x: date, y: performance });
旁注:
Object.keys
在数组中没有多大意义,特别是当您根本不需要键,只需要值的时候。有一个的。数据
应该是一个数组,不是吗
const performanceSeries = {
id: "Performance",
data: [],
};
您可以。将
新对象推送到该数组中
for(const { date, performance } of items)
performanceSeries.data.push({ x: date, y: performance });
旁注:
Object.keys
在数组中没有多大意义,特别是当您根本不需要键,只需要值的时候。有一个用于…的。您直接赋值,而您需要将值推送到数据数组中
const performanceSeries = {
id: "Performance",
data: []
};
Object.keys(items).forEach(function (key)
performanceSeries.data.push({x: items[key], y: items[key].performance})
})
您直接赋值,而您需要将值推送到数据数组
const performanceSeries = {
id: "Performance",
data: []
};
Object.keys(items).forEach(function (key)
performanceSeries.data.push({x: items[key], y: items[key].performance})
})
您需要一个外循环和另一个数组来保存性能系列的列表“数据”:[…
与数据不同:{…
您需要一个外循环和另一个数组来保存性能系列的列表“数据”:[…
与数据不同:{…