3 回答

TA贡献1772条经验 获得超5个赞
您可以使用every:
let arr1 = [1, 2, 3, 4];
let arr2 = [1, 2];
let arr3 = [1, 5];
const allElements = (a1, a2) => a2.every(e => a1.includes(e));
console.log(allElements(arr1, arr2));
console.log(allElements(arr1, arr3));

TA贡献1824条经验 获得超6个赞
仅出于完整性考虑,您可以选择Set并与进行比较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));

TA贡献1877条经验 获得超6个赞
这里不需要loadash,只需将本机JavaScriptArray#every方法与Array#includesmethod一起使用
function compareArray(arr1, arr2) {
return arr2.every(v => arr1.includes(v))
}
let arr1 = [1, 2, 3, 4]
let arr2 = [1, 2]
let arr3 = [1, 5]
console.log(compareArray(arr1, arr2))
console.log(compareArray(arr1, arr3))
添加回答
举报