Ale*_*lex 48 javascript arrays arguments parameter-passing
可能重复:
如何检测变量是否为数组
我有一个简单的问题:
如何检测传递给我的javascript函数的参数是否为数组?我不相信我可以测试:
if (typeof paramThatCouldBeArray == 'array')
Run Code Online (Sandbox Code Playgroud)
那有可能吗?
我该怎么办?
提前致谢.
Cas*_*Chu 67
if (param instanceof Array)
...
Run Code Online (Sandbox Code Playgroud)
编辑.截至2016年,有一个现成的方法可以捕获更多的极端情况Array.isArray,使用如下:
if (Array.isArray(param))
...
Run Code Online (Sandbox Code Playgroud)
Jam*_*ate 18
这是jQuery 1.4.2使用的方法:
var toString = param.prototype.toString;
var isArray = function(obj) {
return toString.call(obj) === "[object Array]";
}
Run Code Online (Sandbox Code Playgroud)
我在这里找到了这个:
function isArray(obj) {
return obj.constructor == Array;
}
Run Code Online (Sandbox Code Playgroud)
也是这一个
function isArray(obj) {
return (obj.constructor.toString().indexOf(”Array”) != -1);
}
Run Code Online (Sandbox Code Playgroud)