乐趣区

关于javascript:从一个数组中删除另一个数组中的值

最近我的项目中一个需要是用户操作后主动删除列表中的不符合条件的多项。

模仿数据如下:

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));

如果你还有其它办法欢送留言探讨哦。

退出移动版