JavaScript 判断一个数组是否包含了另一个数组的全部元素

定义函数判断一个数组是否包含了另一个数组的全部元素,话不多说,直接上代码:

代码

// 定义函数
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

————————————————
版权声明:本文为CSDN博主「火星飞鸟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Jack_lzx/article/details/118631035

posted @ 2022-12-29 14:36  黑白棋学弟  阅读(375)  评论(0编辑  收藏  举报