javascript - 检查数组是否包含嵌套数组的所有元素
问题描述
我将有 2 个数组,如下所示。combosArr是一个二维数组,arr1是一个整数数组
let combosArr = [[1,2,3], [3,6,9]];
let arr1 = [1,2,3,4,5,6,7]; // return [1,2,3]
如果该元素的combosArr
每个整数都存在于arr1
. 我尝试了以下对我不起作用的代码。
let checker = (compareThis, combos) => {
combos.some(array => {
array.every(e => {
if (compareThis.includes(e)) console.log(array);
})
})
}
解决方案
这是工作代码:
let combosArr = [[1,6,7], [1,2]];
let arr1 = [1,2,3,4,5,6,7];
let checker = (compareThis, combos) => {
combos.forEach(array => {
const isP = (e) => arr1.includes(e);
const isPresent = array.every(isP);
if (isPresent) console.log(array);
});
}
这将为您提供 2 个单独的数组,如下所示:
[1,6,7] [1,2]
或者您可以使用以下代码创建一个数组:
let combosArr = [[1,6,7], [1,2]];
let arr1 = [1,2,3,4,5,6,7];
let finalArray = [];
let checker = (compareThis, combos) => {
combos.forEach(array => {
const isP = (e) => arr1.includes(e);
const isPresent = array.every(isP);
if (isPresent) finalArray.push(array);
});
console.log(finalArray)
}
这将为您提供一个数组
[1,6,7,1,2]
推荐阅读
- python - 如何比较两个 csv 文件的特定列?
- java - Netbeans IDE 中的 Java Swing Null 指针异常
- reactjs - React,来自 Express 上 API 请求的 SSR 响应
- spring - Spring组件可以用于多个包
- sql - Postgres - 在 date_trunc 中没有数据的间隔返回 0 计数
- getgauge - 在使用仪表自动化测试时遇到 onbeforeunload 警报对话框时,测试会冻结
- mathematical-optimization - 非常大的非线性最小二乘优化的收敛
- java - 如何在 Java 10 附带的 Java Mission Control 中获得分配压力?
- javascript - 是什么导致我的 Vue 应用程序中出现这个未定义的值?
- google-sheets - 使用多个工作表验证列表中的文本