javascript - 如果元素不存在于其他数组中,则将其包含在数组中

标签 javascript node.js

我有这个数组:

let idsClass = [1,2]

我还有另一个数组:

let idsQuiz = [{id: 1}]

我需要知道 idsClass 中的 ID 号在 idsQuiz 中缺失。

所以,我需要一个包含这些元素的新数组,对于本例,这是正确的输出:

[2]

我尝试过类似的方法:

 idsClass.forEach(item => { if (!idsQuizz.includes({id:item})) { console.log('dont find this: ' + item) } })

但是我的控制台正在打印这两个元素

最佳答案

尝试使用filter内置函数来检查是否存在。

let idsClass = [1,2];


let idsQuiz = [{id: 1}];

idsClass.forEach(item => {
  if (idsQuiz.filter(e => e.id === item).length === 0) {
    idsQuiz.push({id: item});
  }
});

console.log(idsQuiz); // output is [{"id": 1}, {"id": 2}]

关于javascript - 如果元素不存在于其他数组中,则将其包含在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59847498/

相关文章:

node.js - ERR_MODULE_NOT_FOUND

javascript - 如何拆分页面并显示下面的内容?

javascript - 通过 compose() 使用的 graphQL 突变的回调

javascript - 来自 eCharts 的不同颜色条形图

javascript - 难以理解函数式编程组合、仿函数和 monad 示例

javascript - 改进我可怕的 switch 正则表达式匹配语句

node.js - NodeJs : running spawn process memory usage is growing

node.js - 每个 then() 应该返回一个值或抛出,promise/always-return

node.js - Gulp:程序的异常行为

javascript - 简单的 HTML 表单输入字段,包含来自条形码扫描仪的多个值