首页 > 解决方案 > 比较两个数组并查找第二个数组中存在而第一个数组中缺少的项目的最佳 javascript 实践

问题描述

我有两个不同的数组:

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

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

标签: javascriptarrays

解决方案


你可以写 :

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 的所有元素是否都在 A 中,您可以使用 one liner 来完成:

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

推荐阅读