最近我的项目中一个需要是用户操作后主动删除列表中的不符合条件的多项。
模仿数据如下:
const originArr = ['1','2','3'];const deleteArr = ['1','4'];
冀望后果:
const newArr = ['2','3']
模仿数据中有 4 是因为在简单的状况下可能计算出不在列表中的数据ID,思考到程序的健壮性,不影响计算结果。
办法1:
通过遍历,而后查找index, splice(index, 1)删除数组元素比拟麻烦,通过百度搜寻大多都是这个办法,代码比拟繁琐就不列出代码了。
办法2:
通过es6 Set 和数组进行转换
const arrSet = new Set(originArr); for (const o of deleteArr) { arrSet.delete(o); }const newArr = [...arrSet];
办法3:
通过 filter 和 includes
const newArr = originArr.filter((o) => !deleteArr.includes(o));
如果你还有其它办法欢送留言探讨哦。