Skip to content

伪数组和数组的区别?

得分点 类型是object、不能使用数组方法、可以获取长度、可以使用for in遍历

伪数组它的类型不是Array,而是Object,而数组类型是Array。

伪数组可以使用的length属性查看长度,也可以使用[index]获取某个元素,但是不能使用数组的其他方法,也不能改变长度,遍历使用for in方法。

伪数组的常见场景

  • 函数的参数arguments
  • 原生js获取DOM:document.querySelector('div')
  • jquery获取DOM:$(“div”)

伪数组转换成真数组方法

  • Array.prototype.slice.call(伪数组)
  • [].slice.call(伪数组)
  • Array.from(伪数组)

转换后的数组长度由 length 属性决定。索引不连续时转换结果是连续的,会自动补位