简体   繁体   中英

Insert data into JSON object using Javascript or JQuery

Initially my variable is empty.

var data = [];

After insertion of record it should be like,

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

Inserting new attribute to existing data,

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

How can we handle these 2 scenarios using JavaScript or J Query?

That's very simple. Find the snippet below.

First scenario,

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 }] */

Second scenario,

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' } ] */

You can also make it possible using $.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);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM