回答

收藏

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

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

我试图编写一个接受字符串列表或单个字符串的函数。如果是字符串,我想把它转换成只有一个项目的数组,这样我就可以在不担心错误的情况下循环它。& Q9 ~7 e0 q" p+ e  D- k" q% [
那么如何检查变量是否为数组呢?
$ r+ ~! s3 ~9 \2 L6 ^" U- T                                                               
- v1 C/ D& c" O% |4 ]8 ]% d6 D# s    解决方案:                                                                2 B, W! M& F5 ]+ |- v/ l- z/ I
                                                                您可以在现代浏览器中:( Y' N; j: H- L: K
    Array.isArray(obj)/ t2 @; ]+ X% I% N
(受Chrome 5、Firefox 4.0、Internet Explorer 9、Opera 10.5 和 Safari 5 支持)
, s: S; g5 v' `  O! s可添加以下内容:
2 K  u( C% e$ [7 ^: {1 [- C1 z

    6 b" R' N4 g. {# ^8 |" }5 t; X
  • // 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).
    7 o1 W+ E) Y' ?1 e5 ~& R) f% O
  • 如果不需要检测在不同帧中创建的数组,也可以使用instanceof:[code]obj instanceof Array3 h/ t7 B+ Y9 `' K" S' l+ ~
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则