试图从数组中删除多个对象,我所做的解决方案很好并且工作正常,但我想要的是我不想过滤两次,想要以一种方式所以你能帮我找到最好的解决方案吗例子 const arrList = [{v:'1',l:'label1'},{v:'2',l:'label2'}, {v:'3',l:'label3'}, {v:'4',l:'label4'}, {v:'5',l:'label5'}]const filter1 = arrList.filter((a) => a.l !== 'label1')const filter3 = filter1.filter((a) => a.l !== 'label3')console.log(filter3);
3 回答
![?](http://img1.sycdn.imooc.com/545868550001f60202200220-100-100.jpg)
慕后森
TA贡献1802条经验 获得超5个赞
您正在使用 2 个语句来过滤,第一个不等于label1
和另一个语句label3
。您可以使用 AND&&
运算符将它们组合在一个语句中,如下所示
const filter1 = arrList.filter((a) => a.l !== 'label1' && a.l !== 'label3')
![?](http://img1.sycdn.imooc.com/545845b40001de9902200220-100-100.jpg)
慕莱坞森
TA贡献1810条经验 获得超4个赞
您可以使用&&将逻辑语句组合成单个filter()表达式:
const arrList = [{v:'1',l:'label1'},{v:'2',l:'label2'},{v:'3',l:'label3'}, {v:'4',l:'label4'},{v:'5',l:'label5'}]
const filtered = arrList.filter(a => a.l !== 'label1' && a.l !== 'label3')
console.log(filtered);
添加回答
举报
0/150
提交
取消