当前位置: 首页 > Web前端 > JavaScript

从一个数组中删除另一个数组中的值

时间:2023-03-27 12:34:49 JavaScript

最近项目中的一个需求是在用户操作后自动删除列表中不符合条件的项目。模拟数据如下:constoriginArr=['1','2','3'];constdeleteArr=['1','4'];预期结果:constnewArr=['2','3']simulated数据中有4个,因为复杂情况下可能会计算不在列表中的数据ID。考虑到程序的健壮性,计算结果不会受到影响。方法一:通过遍历删除数组元素,再查找index,splice(index,1)比较麻烦。这种方法多在百度搜索,代码繁琐就不一一列举了。方法二:es6Set和array之间的转换constarrSet=newSet(originArr);for(constoofdeleteArr){arrSet.delete(o);}constnewArr=[...arrSet];方法三:通过filter和includesconstnewArr=originArr.filter((o)=>!deleteArr.includes(o));如果大家有其他方法,欢迎留言讨论。