Javascript 如何检查传递的参数是否为数组数组

Javascript 如何检查传递的参数是否为数组数组,javascript,Javascript,我只需要允许像函数([a,b,c,d])或函数(a,b,c,d)这样的向量进入我的程序。我需要编写一个单元测试,当我得到函数([a,b][c,d])和函数([a][b][c][d])的参数时,它会给出一个语法错误 请注意,我在这里不仅仅是寻找一个数组。我需要过滤掉多个数组,只接受一维数组(或者根本没有数组) 如何检查这些参数的存在性?如果您的函数总是使用一个或多个参数,您可以通过测试数组进行检查。isArray(参数[I])您可以始终检查其子函数是否为数组 x = [[1,2,3], [4,5,

我只需要允许像
函数([a,b,c,d])
函数(a,b,c,d)
这样的向量进入我的程序。我需要编写一个单元测试,当我得到
函数([a,b][c,d])
函数([a][b][c][d])的参数时,它会给出一个语法错误

请注意,我在这里不仅仅是寻找一个数组。我需要过滤掉多个数组,只接受一维数组(或者根本没有数组)


如何检查这些参数的存在性?

如果您的函数总是使用一个或多个参数,您可以通过测试
数组进行检查。isArray(参数[I])
您可以始终检查其子函数是否为数组

x = [[1,2,3], [4,5,6]];
if(Array.isArray(x))//true since x is a array
    if(Array.isArray(x[0])) //true since x[0] is array
        console.log('x is two dimensional array')

我真的不明白你怎么会有一个输入可以是
a,b,c,d
[a,b,c,d]
-你的原型是什么?

可能重复@Bik这不是重复你提到的问题。除了它是一个数组之外,我还需要检查它是否是多维的。你的例子中没有一个是数组数组。注意:JS中没有多维数组,只有数组数组。这与您的有什么不同?在我之前的问题中,我在寻找([a],[b]),而现在我需要为类型([a][b])的输入编写一个特定的单元测试用例。前者是有效输入,而后者则不是。我想向函数的用户抛出一个更具体的错误。@downvoter您能解释一下downvot的原因吗?虽然我没有对您的答案进行downvote,但我不确定这是否是我想要的。而不是
x=[[1,2,3],[4,5,6]
,我正在寻找类型
x=[[1,2,3][4,5,6]]的检测(不带逗号)x=[[1,2,3][4,5,6]];在javascript中无效,除非它是stringI,否则我正在编写一个计算项目列表模式的函数。它应该返回一组值中出现次数最多的数。函数的原型是什么?
function myMethod(param){
    if(param instanceof Array)
    {
        // check that no element is an array
        return !param.some(function(item){
            return item instanceof Array;
        });
    }

    return false;
}

console.log(myMethod([1,2,3,4])); // true
console.log(myMethod([1,2,3,4, [1,2]])); // false