hi trying push javascript object inside array in javascript using loop iterate through data. here how code looks like.
var data = {"up": [{ "name": "jack", "age" : 10 }, { "name" : "jhon", "age" : 12 }]}; var output = {}; var output_data = { element: [] }; (var key in data.up) { output.user_name = data.up[key].name; output_data.element.push(output); } console.log(output_data.element);
however can see in example http://jsbin.com/fanazaxoda/edit?html,js,console second element name 'jhon' inserted in both occations. doing wrong here? please explain.
move output initialization inside loop otherwise push reference of object each time. updating it's property may reflect in array elements since elements referring same object.
var output_data = { element: [] }; (var key in data.up) { var output = {}; // create new empty object on each iteration output.user_name = data.up[key].name; output_data.element.push(output); }
var data = { "up": [{ "name": "jack", "age": 10 }, { "name": "jhon", "age": 12 }] }; var output_data = { element: [] }; (var key in data.up) { var output = {}; output.user_name = data.up[key].name; output_data.element.push(output); } console.log(output_data.element);