如何比较两个长度不同但值相同的数组?



例如:

let array1 = [3, 1, 2, 5];
let array2 = [1, 2, 3];

我如何比较两个数组得到我的输出布尔值?

如果你想检查一个数组是否是另一个数组的子集那么你可以尝试这样做:

let array1 = [3, 1, 2, 5];
let array2 = [1, 2, 3];
let isSubset = (arr1,arr2) => arr1.every(x=> arr2.includes(x));
console.log('Is array1 a subset of array2?',isSubset(array1,array2));
console.log('Is array2 a subset of array1?',isSubset(array2,array1));

这里首先console.log返回false,因为不是array1的所有元素都存在于array2中。
但是当我们在isSubset函数中交换参数时,我们现在检查array2的所有元素是否都存在于array1中。在这个例子中,我们得到的是true状态。

最新更新