测试变量是否为数组的最佳方法
best way to test if a variable is an array
可能重复:
如何检测变量是否为数组
当我需要测试变量是否是数组时(例如,函数中的输入参数可能是对象或数组),我通常使用以下代码
typeof(myVar) === 'object' && myVar.length !== undefined;
考虑到即使myVar instanceof Array
更快,也应该避免iframe
问题,这是正确的方法还是有更有效的方法?
Array.isArray
现在可与ECMAScript 5一起使用,因此您可以将其与旧浏览器的polyfill一起使用:
if(!Array.isArray) {
Array.isArray = function (vArg) {
return Object.prototype.toString.call(vArg) === "[object Array]";
};
}
Array.isArray(myVar);
"iframe问题"可以简单地通过不对帧和数组使用相同的名称来避免。在我看来,这并不难。也就是说,我从未需要断言某个东西是否是数组…
如果您已经在代码中使用jQuery,您可以使用jQuery.isArray()
http://api.jquery.com/jQuery.isArray/
您可以尝试-Object.prototype.toString.call
一个例子-
var a = [1,2]
console.log(Object.prototype.toString.call(a))
这将返回[object Array]
可以用字符串切片法按以下方式检查
console.log(Object.prototype.toString.call(a).slice(8,-1)) <br />
返回"阵列"
var a = [1,2]
console.log(Object.prototype.toString.call(a).slice(8,-1) == "Array") // true
相关文章:
- 有条件更新d3.js力图中节点的最佳方法
- 将jQuery.ech()方法转换为本地JavaScript抽象的最佳方法是什么
- 处理浮点错误的最佳方法是什么
- 从数组中删除元素的最佳方法是:javascript/jquery
- 以编程方式填充组合框道场 (1.8) 的最佳方法是什么?
- 列出没有 mysql 的元素的最佳方法是什么
- 在jquery库中重新定义方法的最佳方法
- Javascript,用vars创建对象的最佳方法
- 使用 jQuery 从 HTML 中获取某些值的最佳方法
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 在d3.json中使用d3.csv组合多个csv文件数据输入的最佳方法是什么
- 用jasmine测试JavaScriptUI的最佳方法
- 使用javascript:在没有阻止html标记(<b>、<p>等)的情况下,阻止脚本的最佳方法
- 如果我返回表,检查 Ajax 调用是否为 200 OK的最佳方法是什么
- JavaScript - 创建可链接函数时的最佳方法是什么
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 在 JavaScript 中获取范围的随机数的最佳方法
- 在对象类上实现 jquery 作用域的最佳方法
- 将同步函数包装到承诺中的最佳方法是什么?
- 使用 MVC 删除 JavaScript 中硬编码字符串 Asp.Net 最佳方法