比较两个数组并查找第二个数组中存在和第一个数组中缺少的项目的最佳 JavaScript 实践



我有两个不同的数组:

A = [1,2,3,4,5]
B = [2,4,6]

我想得到一个新的数组,其中包含 A 中不存在的所有 B 元素。

你可以写:

const A = [1,2,3,4,5];
const B = [2,4,5];
const diff = [];
const flag = true;
A.map( val => {
if(!B.includes(val)) {
flag = false;
diff.push(val)
}
});
console.log(flag)
console.log('elem present in A but not in B:');
console.log(diff);

如果你想知道 B 的所有 elems 是否都在 A 中,你可以用一个衬里来做:

// true if all elem of B are in A else false
let flag = B.reduce((acc,val) => A.includes(val) ? acc && true : false, true); 

您可以按如下方式进行简单的过滤:

const a = [1,2,3,4,5]
const b = [2,3,4]

const c = a.filter(v => b.indexOf(v) < 0);
console.log(c);

这将采用数组a并使用indexOf过滤掉b中已经存在的所有内容。

相关内容

最新更新