首页 > 解决方案 > 是否有一个 loadash 函数来比较两个数组并仅当 arr2 中的所有值都存在于 arr1 时才返回 true?

问题描述

如果只有数组 1 包含数组 2 的所有值,我必须比较两个数组并返回 true。对此合适的 loadash 函数是什么?

let arr1 = [1, 2, 3, 4]
let arr2 = [1, 2] 
let arr3 = [1, 5] 

比较 arr1 和 arr2 应该返回 true 比较 arr1 和 arr3 应该返回 false

标签: javascriptarrayslodash

解决方案


为了完整起见,您可以使用 aSet并与Set#has.

let arr1 = [1, 2, 3, 4],
    arr2 = [1, 2],
    arr3 = [1, 5],
    base = new Set(arr1);

console.log(arr2.every(Set.prototype.has, base));
console.log(arr3.every(Set.prototype.has, base));


推荐阅读