javascript - JS - 如何从数组中删除其他数组中存在的项目?

标签 javascript arrays node.js

我有两个具有以下结构的数组:

  • 数组 A:[[1, 10], [2, 4], [5,22], [3, 10]]
  • 数组 B:[2, 5]

结果数组应该是:

  • 数组 C:[[1, 10], [3, 10]]

我正在尝试使用includes(),但是当我有大数组时它非常慢。删除此案例中的元素的最佳解决方案是什么?这是我正在尝试的:

let activeCSs = css.filter(cs => !vacant_css.includes(cs[0]));

最佳答案

假设您只想检查内部数组的第一个元素,您可以采用 Set用于检查。

var arrayA = [[1, 10], [2, 4], [5, 22], [3, 10]],
    arrayB = [2, 5],
    setB = new Set(arrayB)
    result = arrayA.filter(([v]) => !setB.has(v));

console.log(result);

关于javascript - JS - 如何从数组中删除其他数组中存在的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51002230/

相关文章:

javascript - 正则表达式有时在 Javascript 中返回 null

javascript - 在javascript中将键添加到数组

node.js - 如何在谷歌计算引擎外部IP中使用2个单独的端口运行nodejs

javascript - gulp/node `del` 包在大球下弯曲

javascript - 如何动态地将值从下拉列表传输到数据表?

javascript - 数学返回 NaN

javascript - 在字符串对象上调用 .localeCompare 和构造一个专用的 Intl.Collat​​or 对象之间的性能差异?

java - 在链表数组中找到最长的链表

java - 复制和排序数组中的错误

javascript - Gruntjs:复制文件时替换模板