javascript - 检查包含数组的数组

标签 javascript jquery arrays

我搜索了这个问题,但答案是多余的,所以我想问一下,在没有任何匹配的情况下,如何检查是否包含另一个数组的任何数组。

我希望这个 ['abc'] 是假的,因为它里面没有另一个数组,而这是真的 ['abc',[1]]。许多示例执行一个复杂的循环来查找数组值,但是知道数组中是否存在数组的最简单方法是什么?

最佳答案

您可以使用 jQuery filter() 方法只返回数组的数组元素;要检查元素是否为数组,您可以使用 jQuery type() 方法。如果返回的数字大于 0,则数组包含一个数组 -- true;否则,false

function hasArray( array ) {
    return $.grep( array, function(v,i) {
        return $.type( v ) == 'array';
    }).length > 0;
}

console.log( hasArray( [ 'abc', [ 1 ] ] ) ); //true
console.log( hasArray( [ 'abc' ] ) );       //false
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 检查包含数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062953/

相关文章:

javascript - 使用ringojs制作新应用

javascript - 组件的值未更新

javascript - Nodejs : collection. forEach(console.log) 的行为不同于 collection.forEach(function(x) {console.log(x)}) 为什么?

javascript - jquery中的动画效果无法正常工作

javascript - 重复数组

javascript - 将整数与字符串分开,并将整数除以常量。 (JS)

c++ - 转换一串整数的最有效方法是什么,例如(1,5,73,2) 成一个整数数组?

javascript - 在 ember 中访问 Controller 或 View 的实例

javascript - 使用 JavaScript 使用 FOR OF 数组循环时出现错误?

jquery - MVC 中有关复选框操作的下拉列表禁用和启用