Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查包含数组的数组_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 检查包含数组的数组

Javascript 检查包含数组的数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我搜索了这个问题,但答案是多余的,因此我想问,在没有任何匹配的情况下,如何检查是否包含其他数组的任何数组 我认为这个['abc']是假的,因为它里面没有其他数组,这是真的['abc',[1]]。许多示例都会执行复杂的循环来查找数组值,但要知道数组中是否存在数组,最简单的方法是什么 尝试使用Array.prototype.some、Array.isArray var arr1=[abc]; var arr2=[abc[1]]; var res1=arr1.somefunctionitem{ 返回

我搜索了这个问题,但答案是多余的,因此我想问,在没有任何匹配的情况下,如何检查是否包含其他数组的任何数组

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

尝试使用Array.prototype.some、Array.isArray

var arr1=[abc]; var arr2=[abc[1]]; var res1=arr1.somefunctionitem{ 返回Array.isArrayitem; }; var res2=arr2.somefunctionitem{ 返回Array.isArrayitem; }; document.body.innerHTML=arr1包含`Array`:+res1 +arr2包含`Array`:+res2 尝试使用Array.prototype.some、Array.isArray

var arr1=[abc]; var arr2=[abc[1]]; var res1=arr1.somefunctionitem{ 返回Array.isArrayitem; }; var res2=arr2.somefunctionitem{ 返回Array.isArrayitem; }; document.body.innerHTML=arr1包含`Array`:+res1
+arr2包含`Array`:+res2 如果要实际获取内部数组:

var array = ['a', [1,2,3]]

array.filter(function(element){
    return Array.isArray(element)
})
但是如果你只想要一个布尔值

var isAnArray = false
for(var i = 0; i < array.length; i ++ ) {
    if(Array.isArray(array[i])) {
        isAnArray = true
         break;
    }
}

如果要实际获取内部数组:

var array = ['a', [1,2,3]]

array.filter(function(element){
    return Array.isArray(element)
})
但是如果你只想要一个布尔值

var isAnArray = false
for(var i = 0; i < array.length; i ++ ) {
    if(Array.isArray(array[i])) {
        isAnArray = true
         break;
    }
}
可以使用jqueryfilter方法只返回数组的数组元素;要检查元素是否是数组,可以使用jQuery类型方法。如果返回的数字大于0,则数组包含一个数组-true;否则,错误

函数数组{ 返回$.grep数组,functionv,i{ 返回$.type v=='array'; }.长度>0; } console.log hasArray['abc',[1]]//符合事实的 console.log hasArray['abc']//错误的 可以使用jqueryfilter方法只返回数组的数组元素;要检查元素是否是数组,可以使用jQuery类型方法。如果返回的数字大于0,则数组包含一个数组-true;否则,错误

函数数组{ 返回$.grep数组,functionv,i{ 返回$.type v=='array'; }.长度>0; } console.log hasArray['abc',[1]]//符合事实的 console.log hasArray['abc']//错误的
迭代,然后使用Array.isArray.Array检查。Array没有神奇的能力知道它们包含什么,也没有索引或存储关于其中包含什么的知识。您只需迭代数组中的项,并检查数组中是否有任何插槽包含数组。@elclanrs为什么不起作用?$。eacharr,函数{console.logthis.isArray;//未定义}@tonyyew var arr=[1,3,5,7]];$。eacharr,函数{console.logArray.isArraythis;};迭代,然后使用Array.isArray.Array检查。Array没有神奇的能力知道它们包含什么,也没有索引或存储关于其中包含什么的知识。您只需迭代数组中的项,并检查数组中是否有任何插槽包含数组。@elclanrs为什么不起作用?$。eacharr,函数{console.logthis.isArray;//未定义}@tonyyew var arr=[1,3,5,7]];$。eacharr,函数{console.logArray.isArraythis;};$。eacharrayTag,函数{console.logthis.isArray;};为什么这不起作用?为什么不使用return Array.isArrayitem?@tonyyew$.eacharrayTag,函数{console.logthis.isArray;};为什么这不起作用?尝试在$.eacharrayTag、functionkey、项{console.logArray.isArrayitem;}定义参数;请参阅更新的postIt在构造函数上进行字符串匹配,甚至在Array.isArray内置到该语言中时将其作为一个选项提供,这很奇怪。仅供参考,您的构造函数字符串匹配也很容易产生误报。@guest271314-显示误报的示例:$.eacharrayTag,函数{console.logthis.isArray;};为什么这不起作用?为什么不使用return Array.isArrayitem?@tonyyew$.eacharrayTag,函数{console.logthis.isArray;};为什么这不起作用?尝试在$.eacharrayTag、functionkey、项{console.logArray.isArrayitem;}定义参数;请参阅更新的postIt在构造函数上进行字符串匹配,甚至在Array.isArray内置到该语言中时将其作为一个选项提供,这很奇怪。仅供参考,您的构造函数字符串匹配也很容易产生误报。@guest271314-显示误报的示例:是否使用return false中断相同的内容?否。一旦满足条件,break将停止循环。return也会停止循环,但也会停止循环后的所有操作。return false是否会中断相同的操作?否。break只是在满足条件后停止循环。return还将停止循环,但也会停止循环后所有内容的执行。