使用Javascript或JQuery将数据插入JSON对象

使用Javascript或JQuery将数据插入JSON对象,javascript,jquery,Javascript,Jquery,最初我的变量是空的 var data = []; 插入记录后,它应该是这样的 data = [ { "date" : "2013-01-01", "open" : 45 }, { "date" : "2013-02-01", "open" : 50 } ]; 向现有数据插入新属性 data = [ { "date" : "2013-01-01", "open" : 45 , "close": 49}, { "date" : "2013-02-01", "open" : 50

最初我的变量是空的

var data = [];
插入记录后,它应该是这样的

data = [
  { "date" : "2013-01-01", "open" : 45 },
  { "date" : "2013-02-01", "open" : 50 }
];
向现有数据插入新属性

data = [
  { "date" : "2013-01-01", "open" : 45 , "close": 49},
  { "date" : "2013-02-01", "open" : 50 , "close": 60}
];

我们如何使用JavaScript或J Query处理这两种情况?

这非常简单。找到下面的代码片段

第一种情况

data.push({ "date" : "2013-01-01", "open" : 45 },
          { "date" : "2013-02-01", "open" : 50 })

/* Data is 
   [{ "date" : "2013-01-01", "open" : 45 },
    {"date" : "2013-02-01", "open" : 50 }] */
data = data.map(item => {item.close='30';return item})
/* Data is 
   [ { date: '2013-01-01', open: 45, close: '30' },
     { date: '2013-02-01', open: 50, close: '30' } ] */
第二种情况

data.push({ "date" : "2013-01-01", "open" : 45 },
          { "date" : "2013-02-01", "open" : 50 })

/* Data is 
   [{ "date" : "2013-01-01", "open" : 45 },
    {"date" : "2013-02-01", "open" : 50 }] */
data = data.map(item => {item.close='30';return item})
/* Data is 
   [ { date: '2013-01-01', open: 45, close: '30' },
     { date: '2013-02-01', open: 50, close: '30' } ] */

您还可以使用$.each使之成为可能

var data = [{ "date" : "2013-01-01", "open" : 45 }, { "date" : "2013-02-01", "open" : 50 }];
var result = [];
var newData = {};
var dataValLen = 0;
$.each(data, function (i, dataVal) {
    dataValLen = $.map(dataVal, function(n, i) { return i; }).length;       
    $.each(dataVal, function (index, value) {
        newData[index] = value;
        if (i == dataValLen - 1)
            newData['open'] = 45;
    });
    result[i] = newData;
});
console.log(result);
看一看