Reputation: 6701
I have a JSon object array that looks as below:
var myObject= [
{"name":'Tom', "city":'Chicago',"GroupCode":'1'},
{"name":'Harry', "city":'Wisconsin',"GroupCode":'1'},
{"name":'Rob', "city":'Los Angeles',"GroupCode":'2'},
{"name":'Peter', "city":'Seattle',"GroupCode":'2'},
{"name":'Dave', "city":'New York',"GroupCode":'3'},
{"name":'Steve', "city":'Boston',"GroupCode":'3}
];
I wanted to a add a new row with some sample values when ever the GroupCode is changing. My result shall look like :
var myObject= [
{"name":'Tom', "city":'Chicago',"GroupCode":'1'},
{"name":'Harry', "city":'Wisconsin',"GroupCode":'1'},
{"name":'--', "city":'--',"GroupCode":'--'},
{"name":'Rob', "city":'Los Angeles',"GroupCode":'2'},
{"name":'Peter', "city":'Seattle',"GroupCode":'2'},
{"name":'--', "city":'--',"GroupCode":'--'},
{"name":'Dave', "city":'New York',"GroupCode":'3'},
{"name":'Steve', "city":'Boston',"GroupCode":'3}
];
How can i do that ? Please help !
Upvotes: 1
Views: 660
Reputation: 32327
You can do it like this:
var myObject = [{
"name": 'Tom',
"city": 'Chicago',
"GroupCode": '1'
}, {
"name": 'Harry',
"city": 'Wisconsin',
"GroupCode": '1'
}, {
"name": 'Rob',
"city": 'Los Angeles',
"GroupCode": '2'
}, {
"name": 'Peter',
"city": 'Seattle',
"GroupCode": '2'
}, {
"name": 'Dave',
"city": 'New York',
"GroupCode": '3'
}, {
"name": 'Steve',
"city": 'Boston',
"GroupCode": '3'
}];
//store the first groupcode
var gc = myObject[0].GroupCode;
myObject.forEach(function(ob, index) {
if (gc != ob.GroupCode) {
gc = ob.GroupCode;
//insert this object
myObject.splice(index, 0, {
"name": '--',
"city": '--',
"GroupCode": '--'
});
}
})
console.log(myObject)
working code here
Upvotes: 2