Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何向现有的JSON对象数组插入新的键值?_Javascript_Arrays_Json_Lodash_Javascript Objects - Fatal编程技术网

Javascript 如何向现有的JSON对象数组插入新的键值?

Javascript 如何向现有的JSON对象数组插入新的键值?,javascript,arrays,json,lodash,javascript-objects,Javascript,Arrays,Json,Lodash,Javascript Objects,我有下面的JSON数组 const data=[{id:1,名称:'a'},{id:2,名称:'b'},{id:3,名称:'c'}] 我必须为每个对象插入一个属性,预期结果如下 const data=[{id:1,名称:'a',selected:false},{id:2,名称:'b',selected:false},{id:3,名称:'c',selected:false}] 我只想实现这个javascript 请在这方面帮助我。您只需要一个简单的循环 for (let item of data)

我有下面的JSON数组

const data=[{id:1,名称:'a'},{id:2,名称:'b'},{id:3,名称:'c'}]

我必须为每个对象插入一个属性,预期结果如下

const data=[{id:1,名称:'a',selected:false},{id:2,名称:'b',selected:false},{id:3,名称:'c',selected:false}]

我只想实现这个javascript


请在这方面帮助我。

您只需要一个简单的循环

for (let item of data) {
  item.selected = false;
}

在该循环的每次迭代中,项成为迭代对象数据中的下一个项(在本例中)。由于数组仍然引用这些相同的对象,您可以修改项,并且此修改也会显示在数据中的项上。。。还是因为它是同一个对象。

这个问题没有达到Stackoverflow的标准,但从您的评论来看,我相信您正在认真寻找一个比您的声誉更重要的解决方案

答案是一种简单的老式方法,请参考并尝试一下。谢谢

const data=[{id:1,名称:'a',selected:false},{id:2,名称:'b',selected:false},{id:3,名称:'c',selected:false}] data.forEachelement,索引=>{ 元素[所选]=false, 元素[test]=索引+1//任何键值对 };
控制台,太好了!到目前为止你尝试了什么?那不是JSON。。。只是一个普通的对象literal.data.mapval=>{…val,selected:false}我已经试过了。。data.mapx=>{x['selected']=false;}对不起,我是新手,实际上我已经试过了。。const newState=this.state.data.mapx=>{x['selected']=false;}因此状态没有更改,newState变得未定义。。现在我已经分配给另一个变量,一旦修改,现在我使用setState来更新newState。非常感谢…@Cegone抱歉,你只提到JavaScript,所以只有我发布了这个答案。谢谢
var data = [{id:1,name:'a'},{id:2,name:'b'},{id:3,name:'c'}];

for (i = 0; i < data.length; i++) { 
   // add the addition property using dot notation
   data[i].selected = 'false';
}

// output to console the updated data
   console.log(data);