我只将最后一个元素添加到 JS 数组中



这是我迄今为止的代码:我正试图使用GAJSON对象的属性创建一个名为dataJSON的新JSON对象。然而,当我尝试在GAJSOn对象上迭代时,我只得到它的最后一个要添加到数组中的元素。

 var GAstring ='{"data":[{"bounceRate": "4","country":"Denmark"},{"bounceRate":
 "3","country":"Spain"},{"bounceRate":"6","country":"Romania"},
 {"bounceRate":"1","country":"Bulgaria"},{"bounceRate":"0","country":"Lithuania"},  
 {"bounceRate":"2","country":"Norway"}]}';
 var GAJSON=JSON.parse(GAstring);
 var viewJSON = {
    data:[]
 };
 var dataJSON ={};
 for(var i =0; i<GAJSON.data.length; i++) {
     dataJSON["bounceRate"] = GAJSON.data[i].bounceRate;
     dataJSON["country"] = GAJSON.data[i].country;
 }
 viewJSON.data.push(dataJSON);

新对象的push应该在循环中。

 for(var i =0; i<GAJSON.data.length; i++) {
   viewJSON.data.push({
     bounceRate: GAJSON.data[i].bounceRate,
     country: GAJSON.data[i].country
   });
 }

DEMO

每次在dataJSON["bounceRate"] = GAJSON.data[i].bounceRate; 上都覆盖值

试试这个代码:

var GAstring ='{"data":[{"bounceRate": "4","country":"Denmark"},{"bounceRate":"3","country":"Spain"},{"bounceRate":"6","country":"Romania"},     {"bounceRate":"1","country":"Bulgaria"},{"bounceRate":"0","country":"Lithuania"},     {"bounceRate":"2","country":"Norway"}]}';
 var GAJSON=JSON.parse(GAstring);
 var viewJSON = {
    data:[]
 };
 var dataJSON ={};
 for(var i =0; i<GAJSON.data.length; i++) {
     dataJSON[i] = [];
     dataJSON[i]["bounceRate"] = GAJSON.data[i].bounceRate;
     dataJSON[i]["country"] = GAJSON.data[i].country;
 }
 viewJSON.data.push(dataJSON);
console.log(viewJSON);

演示

相关内容

  • 没有找到相关文章

最新更新