首页 > 解决方案 > 如何循环对象并将键推入数组?

问题描述

我有一个由newSalesand组成的对象,oldSales我正在循环它们以获取键值对。我已经能够控制台记录它们,但现在我被卡住了。如何在我的数组中推送这些键值对?这是一个示例代码笔

const obj = {
  newSales: 1,
  oldSales: 0,
  anotherProp: 'something',
  etc: 'etc',
  values: 'numbers'
}

function myDataSet() {
  let dataSet = []
  for (let key in obj) {
    if (obj.hasOwnProperty(key)) {
      console.log(`${key} : ${obj[key]}`)
      dataSet.push({
        name: ['newSales', 'oldSales'],
        data: [1, 0]
      })
    }
  }
  return dataSet
}

myDataSet();

对象中的新名称应该是nameie newSalesoldSales并且data内部应该是一个值为 1 和 0 的数组。感谢所有帮助。

预期输出:

[ { name: ['newSales', 'oldSales'], data:[ 1,0 ] } ]

标签: javascript

解决方案


如果我理解正确,你想要这个。

根据需要编辑为具有外部数组,尽管我不明白它的目的。

let dataSet = [{
  name: Object.keys(obj),
  data: Object.values(obj)
}];

推荐阅读