如何将对象转换为嵌套对象

时间:2015-04-15 21:42:29

标签: javascript

如何转换以下内容:

{ 
     Eldoret: "900",
     Nairobi: "1900" 
 }

成:

 [
        {
          y:"Eldoret",
          a: 900
         },
         {
          y:"Nairobi",
          a:1900
          }
    ]

使用JavaScript。我已尝试使用以下代码段,但它只选择最后一个属性

for(var key in data3){
    if(data3.hasOwnProperty(key)){
        data_obj.y =  key;
        data_obj.a =  data3[key];
    }

输出

 { 
      y: "Nairobi",
      a: "1900" 
 }

2 个答案:

答案 0 :(得分:4)

你迭代你的钥匙:

var myobj = { .... };
var objKeys = Object.keys(myobj);
var reformatted = objKeys.map(function(key) {
  return {
    x: key,
    y: myobj[key]
  };
});

答案 1 :(得分:0)

您可以通过将项目附加到循环中的新数组来逐步构建结果:

data3 = {
  Eldoret: "900",
  Nairobi: "1900"
}

res = []
for (var key in data3) {
  res.push({
    y: key,
    a: data3[key],
  })
}

console.log(res)