从另一个数组中过滤掉一个数组[重复]

2023-12-03

所以我有 2 个对象数组,看起来像这样

    this.balanceCodes = [
        { ID: 1, StringValue: "dummy" },
        { ID: 2, StringValue: "data" }
    ];
    this.allCodes = [
        { ID: 1, StringValue: "dummy", Color: "red", Order: "low" },
        { ID: 2, StringValue: "data", Color: "green", Order: "medium" },
        { ID: 3, StringValue: "extra", Color: "black", Order: "low" },
        { ID: 4, StringValue: "options", Color: "grey", Order: "high" }
    ];

我想过滤掉其中的对象this.balanceCodes(根据身份证)

所以期望的结果是:

    this.result = [
        { ID: 3, StringValue: "extra", Color: "black", Order: "low" },
        { ID: 4, StringValue: "options", Color: "grey", Order: "high" }
    ];

我怎样才能做到这一点?我知道我可以轻松过滤掉一个对象,但是如何对整个对象数组执行此操作?

我被允许使用 Lodash。


Use _.differenceBy()查找第一个数组中的项目(allCodes)在第二个数组(balanceCodes):

var balanceCodes = [
    { ID: 1, StringValue: "dummy" },
    { ID: 2, StringValue: "data" }
];
var allCodes = [
    { ID: 1, StringValue: "dummy", Color: "red", Order: "low" },
    { ID: 2, StringValue: "data", Color: "green", Order: "medium" },
    { ID: 3, StringValue: "extra", Color: "black", Order: "low" },
    { ID: 4, StringValue: "options", Color: "grey", Order: "high" }
];

var result = _.differenceBy(allCodes, balanceCodes, 'ID');

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从另一个数组中过滤掉一个数组[重复] 的相关文章

随机推荐