我需要做的是在一个Array上映射并将所有对象的值设置为false。这是我的第一枪:
data = data.map((item) => {
item.active = false;
return item;
})
行!但是接着是Eslint,no-param-reassign。所以我不得不寻找其他东西。经过一番谷歌搜索,我找到了传播算子!太棒了!我创造了这个杰作:
data = data.map((item) => {
return {...item, active: false}
})
看起来很酷,并且也可以工作。但随后又有Eslint,arrow-body-style。好的,我将在同一行上返回对象:
data = data.map(item => {...item, active: false});
不起作用! :'(我想念什么吗?
答案 0 :(得分:7)
从箭头函数构造(lambda)返回文字对象时,必须将其包装在括号中,以便将其视为表达式:
data.map(item => ({...item, active: false}));
map
仅在需要其他数组时有用。
但是这里有一个更简单的解决方案。您不必重新分配所有项目和data
。你应该做
data.forEach(item => item.active=false)