我只需要允许function([a, b, c, d])
或function(a, b, c, d)
之类的向量到我的程序中。我需要编写一个单元测试,当我获得function([a, b][c, d])
和function([a][b][c][d])
形式的参数时会出现语法错误。
请注意,我不是在寻找一个数组。我需要过滤掉多个数组,只接受一维数组(或根本没有数组)
如何检查这些参数是否存在?
答案 0 :(得分:0)
如果您的函数始终带有一个或多个参数,则可以通过测试Array.isArray(arguments[i])
进行检查。
答案 1 :(得分:0)
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
我真的不明白你的输入是a,b,c,d
和[a,b,c,d]
- 你的原型是什么?
答案 2 :(得分:-1)
你可以随时检查它的子节点是否为数组
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')