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

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理