检查数组是否包含嵌套数组的所有元素

时间:2020-05-08 01:24:28

标签: javascript

我将有2个数组,如下所示。 combosArr 是2D数组, arr1 是整数数组

let combosArr = [[1,2,3], [3,6,9]];
let arr1 = [1,2,3,4,5,6,7]; // return [1,2,3]

如果combosArr中存在每个元素的整数,我希望checker函数向我返回arr1的元素(它是一个数组)。 我尝试了以下对我不起作用的代码。

let checker = (compareThis, combos) => {
    combos.some(array => {
        array.every(e => {
            if (compareThis.includes(e)) console.log(array);
        })
    })
}

1 个答案:

答案 0 :(得分:0)

此代码使窍门:

let combosArr = [[1,2,3], [3,6,7]];
let arr1 = [1,2,3,4,5,6,7];

combosArr.forEach(e => {
if(e.every(r => arr1.includes(r)))
  console.log(e);
})

或以下情况,仅当combosArr中两个数组的所有元素都包含arr1的元素时,才打印某些内容:

let combosArr = [[1,2,3], [3,6,7]];
let arr1 = [1,2,3,4,5,6,7];
var count = 0;

combosArr.forEach(e => {
if(e.every(r => arr1.includes(r)))
  count++;
})
if(count == combosArr.length)
  console.log(combosArr);