javascript - Node : Find object from array not contained in another array

标签 javascript node.js

我有两个对象数组:

var existingUsers1 = [];
    existingUsers1.push({
        "userName": "A",
        "departmentId": "1"
    });
    existingUsers1.push({
        "userName": "B",
        "departmentId": "1"
    });
    existingUsers1.push({
        "userName": "C",
        "departmentId": "1"
    });
    existingUsers1.push({
        "userName": "D",
        "departmentId": "1"
    });

var existingUsers2 = [];
    existingUsers2.push({
        "userName": "A",
        "departmentId": "1"
    });
    existingUsers2.push({
        "userName": "B",
        "departmentId": "1"
    });

我需要从 existingUsers1 中找到 existingUsers2 中不存在的对象。我可以使用 nodeJS 中的任何函数来实现此目的或任何其他方式吗?

最佳答案

你可以使用 SetArray#filter .

var existingUsers1 = [{ userName: "A", departmentId: "1" }, { userName: "B", departmentId: "1" }, { userName: "C", departmentId: "1" }, { userName: "D", departmentId: "1" }],
    existingUsers2 = [{ userName: "A", departmentId: "1" }, { userName: "B", departmentId: "1" }],
    hash = new Set(existingUsers2.map(o => o.userName)),
    result = existingUsers1.filter(o => !hash.has(o.userName));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - Node : Find object from array not contained in another array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45881935/

相关文章:

node.js - 根据玩家位置从服务器发送数据

node.js - 是否有 Polymer 组件可以简化与 MongoDB 的通信?

node.js - 无法获取店铺名称

javascript - node.js 中的新功能

asp.net - SharePoint - 在新窗口中打开文档库 PDF

javascript - 如何顺利加载 10 个 500kb 的 csv 文件并将数组与 javascript 和 HTML5 合并?

javascript - 在 JavaScript 中将数组声明为函数意味着什么?

node.js - Nodemailer 在 Azure 上抛出错误

javascript - 资源加载器出了什么问题?

javascript - 在 Firefox 中显示 'ReferenceError: event is not defined' 的 D3 事件