如何检查数组是否包含javascript中的另一个数组

时间:2017-11-18 09:46:13

标签: javascript jquery arrays

我需要查找数组是否包含另一个数组..

bar

我无法找到这个。所以任何人都可以帮助我解决这个问题。

谢谢。

3 个答案:

答案 0 :(得分:4)

您可以使用Array#some迭代元素,并检查该元素是否为Array.isArray的数组。



function containsArray(array) {
    return array.some(item => Array.isArray(item));
}

console.log(containsArray(['a', ['b', 'c', 'd']]));
console.log(containsArray(['a', 'b', 'c', 'd']));




ES5



function containsArray(array) {
    return array.some(function (item) {
        return Array.isArray(item);
    });
}

console.log(containsArray(['a', ['b', 'c', 'd']]));
console.log(containsArray(['a', 'b', 'c', 'd']));




答案 1 :(得分:0)

您可以尝试这种方式:

var array  = ['a',['b','c','d']];

function contains(a, toFind) {
    for (var i = 0; i < a.length; i++) {
        if (equalArray(a[i], toFind)) {
            return true;
        }
    }
    return false;
}
function equalArray(a, b) {
    if (a.length === b.length) {
        for (var i = 0; i < a.length; i++) {
            if (a[i] !== b[i]) {
                return false;
            }
        }
        return true;
    } else {
        return false;
    }
}

alert(contains(array, ['b', 'c', 'd']));

答案 2 :(得分:0)

如果您不需要boolean (true/false)答案,您还可以使用 数组find()方法 以及{{1} }也返回 内部数组 。请参阅以下示例。

修改 如果您的阵列包含多个 内部阵列 ,那么 阵列过滤器()方法 会更多合适的。

&#13;
&#13;
Array.isArray()
&#13;
&#13;
&#13;