i have 2 json objects columnsdata , columns when assigning columnsdata value columns both values changed.
var columnsdata = [ {id: "id"}, {id: "root_task_assignee"}, {id: "root_task_id"}, {id: "root_task_status"}, {id: "root_task_tracker"}, {id: "rt_category"}, {id: "rt_priority"}, {id: "rt_subject"}, ] var columns = []; using below function assigned columnsdata value columns object, , added additional fields
for(i = 0;i < columnsdata.length; i++){ columns[i] = columnsdata[i]; columns[i]["name"] = columnsdata[i]["name"] || columnsdata[i]["id"]; columns[i]["type"] = columnsdata[i]["id"]["type"] || "string"; } but after assigning both have same values. how old json columnsdata value changed? there other way assign values
if required keep original array pure (unchanged) should use map method of array.
var columnsdata = [ {id: "id"}, {id: "root_task_assignee"}, {id: "root_task_id"}, {id: "root_task_status"}, {id: "root_task_tracker"}, {id: "rt_category"}, {id: "rt_priority"}, {id: "rt_subject"}, ] var columns = columnsdata.map(function(obj){ var robj = {}; robj[obj.key] = obj.value; robj["name"] = obj.value; ..... return robj; }); logic can added in map method create new array required. hope helps.
Comments
Post a Comment