我如何将一个对象变成一个对象数组?

时间:2019-09-19 19:48:52

标签: javascript underscore.js

我正在尝试将我拥有的对象变成对象数组,我知道必须有一种简单的方法来执行此操作,但是在搜索后似乎无法弄清楚。我可能正在搜索错误的内容。

我曾尝试推送到数组,但我需要每个键和值对都必须是数组中的单独对象。

这是我正在使用的对象:

{ HI: 1,
  undefined: 7,
  MI: 1,
  FL: 1,
  WV: 1,
  TX: 1,
  IA: 3,
  MN: 1,
  MO: 1 }

不太确定如何将每个值转换为对象,是的,我很愚蠢。

所需的输出为[{stateName:'HI' value: 1},{stateName: 'Mi', value: 4},{stateName: 'TX', value: 1}],依此类推。

2 个答案:

答案 0 :(得分:0)

var array = [];

var yourObj = {...}

Object.keys(yourObj).forEach(function(key) {
  var obj = {[key]:obj[key]};
   array.push(obj)
});

答案 1 :(得分:-1)

您可以这样做:

let obj = { HI: 1, undefined: 7, MI: 1,FL: 1,WV: 1,TX: 1,IA: 3,MN: 1,MO: 1 };
let list = [];
for (let name in obj) {
    let item = {};
    item[name] = obj[name];
    list.push(item);
}