定义函数判断一个数组是否包含了另一个数组的全部元素,话不多说,直接上代码:
代码
// 定义函数
const isContained = (a, b) => {
// a和b其中一个不是数组,直接返回false
if (!(a instanceof Array) || !(b instanceof Array)) return false;
const len = b.length;
// a的长度小于b的长度,直接返回false
if (a.length < len) return false;
for (let i = 0; i < len; i++) {
// 遍历b中的元素,遇到a没有包含某个元素的,直接返回false
if (!a.includes(b[i])) return false;
}
// 遍历结束,返回true
return true;
};
测试
// 测试的一些数组
const testArr = [
[3, 4],
[2, 3, 4],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 6],
[1, 2, 3, 7, 5],
[1, 8, 3, 4, 5],
[9, 2, 3, 4, 5],
[1, 2, 10, 4, 5],
];
// 需要被包含的数组
const test = [3, 4, 2];
// 测试
for (let i = 0; i < testArr.length; i++) {
console.log(isContained(testArr[i], test));
}
// false
// true
// true
// true
// false
// false
// true
// false