gpt4 book ai didi

javascript - 在一个数组中查找不包含在另一个对象数组中的元素

转载 作者:行者123 更新时间:2023-11-30 09:10:38 25 4
gpt4 key购买 nike

我有一个数组 arr1 = [1,2,3,4,5]还有另一个对象数组 arr2 = [{'id':2, 'name':'A'},{'id':4, 'name':'B'}]

我正在寻找 arr1 中不在 arr2 中的元素。预期输出为 [1,3,5]

我尝试了以下但它不起作用。

const arr = arr1.filter(i => arr2.includes(i.id));

你能帮忙吗?

最佳答案

Vanilla JS 复杂度为 O(arr2.length) + O(arr1.length) 的解决方案

var arr1= [1,2,3,4,5]; 
var arr2 = [{'id':2, 'name':'A'},{'id':4, 'name':'B'}];

var tmp = arr2.reduce(function (acc, obj) {
acc[obj['id']] = true;
return acc;
}, {});

var result = arr1.filter(function(nr) {
return !tmp.hasOwnProperty(nr);
})

关于javascript - 在一个数组中查找不包含在另一个对象数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59371909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com