回答

收藏

如何检查对象是否为数组?

技术问答 技术问答 546 人阅读 | 0 人回复 | 2023-09-12

我试图编写一个接受字符串列表或单个字符串的函数。如果是字符串,我想把它转换成只有一个项目的数组,这样我就可以在不担心错误的情况下循环它。
: V! C9 x: V. e那么如何检查变量是否为数组呢?# s  f6 [& b, c. B
                                                               
2 r1 u  @( e; [    解决方案:                                                                ) d$ o; E& F) L+ M
                                                                您可以在现代浏览器中:
- q5 d( Z$ M" `& R
    Array.isArray(obj)
    , J) Z% K5 N; K( I+ @/ F
(受Chrome 5、Firefox 4.0、Internet Explorer 9、Opera 10.5 和 Safari 5 支持)
- l, b/ m9 y# o* f8 W可添加以下内容:
8 S; \( t# K9 e4 @% E& X9 `/ b

      x  Z* z8 u- \& R+ o) O2 K+ O
  • // Only implement if no native implementation is availableif (typeof Array.isArray === 'undefined {  Array.isArray = function(obj)    return Object.prototype.toString.call(obj) === '[object Array]code]若使用 jQuery,你可以使用jQuery.isArray(obj)or $.isArray(obj)。如果你使用Underscore.js,你可以使用_.isArray(obj).
    # S! ~+ f1 d, f0 D, v
  • 如果不需要检测在不同帧中创建的数组,也可以使用instanceof:[code]obj instanceof Array
    0 i! H5 J7 E6 B' |" U4 h
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则