伪数组的特点

357 阅读1分钟

伪数组特点:

  • 必须是对象
  • 必须有length属性
  • length 属性必须是数字
  • 如果length 不为0时,必须有以下标存储的数据
  • 伪数组不可以调用真数组的API(push , map, ...)

示例:

  • 伪数组
  • var ob1 = {0:'1111',length:1}
  • var obj2 = {96:'1111',length:100}
  • var obj3 = {length:0}
  • 不是伪数组
  • var obj4 = {length:3}
  • var obj5 = {}

在使用原生的方式获取dom元素的时其实获取的就是伪数组,他是一个html元素的合集,这也就是一般在处理html元素合集的时候使用的是for循环而不是map/foreach 的原因了.

判断是否是数组的方式

console.log(数据 instanceof Array);

console.log(Object.prototype.toString.call(数据) === "[object Array]")