一、特点
含有length属性,无法直接使用数组的方法,可以通过索引获取内部数据的数据结构
二、常见的伪数组
arguments
document.getElementByTagName、document.getElementByClassName等获取的dom元素的集合
等等
三、伪数组转换为数组
...html
<div class='div1'></div>
<div class='div2'></div>
<div class='div3'></div>
...
...js
var divs = document.getElementByTagName('div') //divs就是伪数组
var divsArray = Array.prototype.slice.call(divs) // divsArray是真数组
...
IE8以下不支持slice方法,IE8以下伪数组转换为数组的方法代码如下
likeArrayToArray(likeArray){
var resultArray = []
try{
resultArray = Array.prototype.slice.call(likeArray)
}catch(e){
for(let i=0; i< likeArray.length;i++){
resultArray[resultArray.length] = likeArray[i]
}
}
}