我有一个对象数组。我想按某个字段查找,然后对其进行更改:
var item = {...} var items = [{id:2}, {id:2}, {id:2}];
var foundItem = items.find(x => x.id == item.id); foundItem = item; 我希望它更改原始对象。怎么样?(我不在乎它是否也会在lodash中使用) 问题来源于stack overflow
您可以使用findIndex在对象数组中查找索引,并根据需要替换它:
var item = {...} var items = [{id:2}, {id:2}, {id:2}];
var foundIndex = items.findIndex(x => x.id == item.id); items[foundIndex] = item; 这假设唯一的ID。如果您的ID是重复的(如您的示例所示),则最好使用forEach:
items.forEach((element, index) => { if(element.id === item.id) { items[index] = item; } });
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。