3 回答
TA贡献1802条经验 获得超10个赞
您可以使用下面的通用函数,它需要您传递要更新的对象的数组和 ID。
var arr = [
{
id: 1,
name: 'John'
},
{
id: 2,
name: 'Jack'
},
{
id: 3,
name: 'Peter'
}
];
function addProperty(data,id){
data.forEach(obj => {
if(obj.id === id){
obj['deleted'] = true;
}
});
return data;
}
let id = 1;
console.log(addProperty(arr, id));
TA贡献1946条经验 获得超3个赞
您可以使用Array.prototype.find
这将是最简单的方法
let users = [
{
id: 1,
name: 'John'
},
{
id: 2,
name: 'Jack'
},
{
id: 3,
name: 'Peter'
}
];
let id = 3;
let foundUser = users.find(user => user.id === id);
console.log('Users before modification', users);
foundUser.deleted = true;
console.log('Users after modification', users);
TA贡献1804条经验 获得超2个赞
试试这个:
var array = [
{
id: 1,
name: 'John'
},
{
id: 2,
name: 'Jack'
},
{
id: 3,
name: 'Peter'
}
]
for (var item in array){
if (array[item].id === 1){
array[item].deleted = true;
break;
}
}
console.log(array)
它所做的是遍历数组中的每个项目。然后它检查相应的索引项是否具有我们要查找的值。如果是,它会添加一个true
名为的属性deleted
并跳出循环。
添加回答
举报