javascript - 通过 Id 比较两个数组的元素,并从一个数组中删除另一个数组中未出现的元素

标签 javascript jquery

我有两个像这样的对象数组:

var arr1 = [{Id: 1, Name: "Test1"}, {Id: 2, Name: "Test2"}, {Id: 3, Name: "Test3"}, {Id: 4, Name: "Test4"}]

var arr2 = [{Id: 1, Name: "Test1"}, {Id: 3, Name: "Test3"}]

我需要通过 Id 比较两个数组的元素,并从 arr1 中删除 arr2 中未出现的元素(没有具有该 Id 的元素)。我怎样才能做到这一点 ?

最佳答案

var res = arr1.filter(function(o) {
    return arr2.some(function(o2) {
        return o.Id === o2.Id;
    })
});

垫片,垫片,垫片。

关于javascript - 通过 Id 比较两个数组的元素,并从一个数组中删除另一个数组中未出现的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14983575/

相关文章:

javascript - Jquery 选择器在 Chrome 中不起作用?

javascript - 如何在 Internet Explorer 中触发 script.onerror?

javascript - 如何将 HtmlAgilityPack.CssSelectors 公开到 ClearScript 中

javascript - 火狐浏览器插件下载

javascript - 使用单引号将参数传递给函数

jquery - 如何从 JQUERY 移动 ListView 中删除元素

c# - JavaScript 中的动态 Html.ActionLink?

javascript - $http 请求的后台处理通知

javascript - 使用 :not() to ignore clicks on children links?

jquery - 避免将样式应用于 :after when using :hover