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})
})

您需要一个外循环和另一个数组来保存
性能系列的列表
“数据”:[…
数据不同:{…
您需要一个外循环和另一个数组来保存
性能系列的列表
“数据”:[…
数据不同:{…