类数组对象顾名思义就是类似数组的对象;
类数组对象:
var arrayLike = {
'0': '1',
'1': '2',
'2': '3',
length: 3
};
比如使用:
document.getElementsByTagName
document.getElementsByClassName
document.getElementsByName
document.querySelectorAll
上面4个常用的DOM方法以及函数内部arguments都是类数组对象;
既然不是真正的数组,就不能使用数组对应的方法,类数组只有length属性,使用比如concat,forEach等方法都会报错;
如果我们需要对这些数据做一些遍历筛选的操作,可以把类数组线转化成真正的数组就可以使用原生的方法做处理;
var arr1 = [].slice.call(arrayLike); //[1, 2, 3]
var arr2 = Array.from(arrayLike); // ES6的方法
使用上面方法就可以把类素组的对象转化成真正的数组;
注意:如果上面arrayLike对象里没有length属性,进过转换返回数组的length是0,是一个空数组;