javascript - 检查数组是否包含另一个数组的所有元素

标签 javascript arrays

我想要一个当且仅当给定数组包含给定“目标”数组的所有元素时返回 true 的函数。如下。

const target = [ 1, 2, 3,    ];
const array1 = [ 1, 2, 3,    ]; // true
const array2 = [ 1, 2, 3, 4, ]; // true
const array3 = [ 1, 2,       ]; // false

我怎样才能完成上述结果?

最佳答案

您可以结合 .every().includes()方法:

let array1 = [1,2,3],
    array2 = [1,2,3,4],
    array3 = [1,2];

let checker = (arr, target) => target.every(v => arr.includes(v));

console.log(checker(array2, array1));  // true
console.log(checker(array3, array1));  // false

关于javascript - 检查数组是否包含另一个数组的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53606337/

相关文章:

javascript - 如果我不打算返回任何内容,我应该使用像map和filter这样的数组方法吗?

javascript - 在没有 UIWebView 的情况下从 Xcode 执行 JS 文件

javascript - 删除确认对话框仅适用于表中的第一行

javascript - React 将 prop 传递给其他组件以从状态数组中删除

javascript - 将 StorageFile 端到端读入字符串的最简单方法?

arrays - 在此 Ruby 快速排序实现中如何构建最终数组?

ios - 可能性数组的(快速)

javascript - 组织对象数组

jquery - 如何使用 jQuery 或 Javascript 解析对象

Javascript 变量