Array.isArray() 判断是否为数组

最后更新:2026-09-09

Array.isArray() 判断是否为数组

Array.isArray 判断一个值是否为数组,是区分数组与普通对象的标准方法。typeof 对数组返回 object 无法区分,instanceof 在跨 iframe 场景会失效。

分类数组
ES 版本ES5(2009)

📝 语法

Array.isArray(要判断的值);

⚙️ 参数

value任意要检测的值。

返回值:布尔值:是数组返回 true。

是否修改原值:否(返回新值)

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

true
false
false
1
💡 提示 Array.isArray 是唯一可靠的数组检测——跨 iframe/window 的数组 instanceof Array 会返回 false,isArray 不会。
ℹ️ info 类数组对象(arguments、NodeList)不是真数组——转换用 [...nodeList] 或 Array.from()。

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
Array.isArray() v1 v12 v1.5 v3 v10.5
所有现代浏览器均支持
更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q为什么不用 instanceof 判断数组?
Ainstanceof 检测原型链——iframe 里创建的数组与主窗口的 Array 构造器不同,会误判 false。Array.isArray 按内部标识判断,永远正确。
QArray.isArray 能识别类数组对象吗?
A不能——{length: 3} 这类对象返回 false。转换真数组用 Array.from(类数组)。
QArray.isArray 是静态方法吗?
A是——挂在 Array 构造器上而非原型上,调用方式是 Array.isArray(x) 而不是 arr.isArray()。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏