1、什么是伪数组?
定义:
- 拥有length属性和数值下标属性。
- 不具有数组所具有的方法。
伪数组是一个Object,而真实的数组是一个Array。
3、常见的伪数组
- 参数数组:arguments
- DOM对象列表HTMLCollection():比如通过document.getElementsByTagName得到的列表
- jquery对象:比如$(“div”)
3、将伪数组转为真正的数组
对DOM元素进行map、forEach操作时候需要进行遍历,伪数组遍历会报错:‘elem.map is not a function’,为了避免这个问题,需要进行转换。
(1) ES5 转为真数组
Array.prototype.slice.call(元素对象)
let elem1 = Array.prototype.slice.call(elem)
(2) ES6 转为真数组
Array.from(元素对象)
let elem2 = Array.from(elem)