我必须根据条件更新数组对象中的元素。目前我正在使用 forEach 并根据条件在该元素中应用计算。我想知道在没有 for 循环的情况下更新数组的最简单方法 下面是我的数组
[{index:123,total:20,family:'mobile'},
{index:321,total:40,family:'mobile'},
{index:543,total:54,family:'mobile'}]
我想用
total*2
更新上面数组中索引为'321'的元素的总数
执行逻辑后我的数组应该如下所示
[{index:123,total:20,family:'mobile'},
{index:321,total:80,family:'mobile'},
{index:543,total:54,family:'mobile'}]
我正在使用下面的代码
var selectedId = 321;
this.arrayList.forEach((element, indexval) => {
if((element.index== selectedId){
this.arrayList[indexval].total = element.total*2
}
});
这可以优化以便我不需要迭代列表
你可以使用
find()
,得到你想要的元素然后改变它的总数,像这样:
const selectedId = 321;
const selectedItem = this.arrayList.find(({index}) => index === selectedId)
selectedItem.total *= 2
如果有选择,最好有一个对象,其中索引是键,其他道具是值。然后你就可以像这样访问项目:
this.map[selectedId]