开发者社区> 问答> 正文

JavaScript ES6 / ES5在数组中查找并更改

我有一个对象数组。我想按某个字段查找,然后对其进行更改:

var item = {...} var items = [{id:2}, {id:2}, {id:2}];

var foundItem = items.find(x => x.id == item.id); foundItem = item; 我希望它更改原始对象。怎么样?(我不在乎它是否也会在lodash中使用) 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 10:47:14 489 0
1 条回答
写回答
取消 提交回答
  • 您可以使用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; } });

    2020-02-08 10:47:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载