定义
伪数组 (ArrayLike) ,又称类数组。是一个类似数组的对象
具有如下特征:
- 按索引方式储存数据
0: xxx, 1: xxx, 2: xxx...
- 具有
length
属性- 但是length属性不是动态的,不会随着成员的变化而改变
- 不具有数组的
push()
,forEach()
等方法
常见的伪数组有DOM元素集合,函数中的arguments对象,以及字符串String对象。
伪数组转数组的方法
1.遍历添加入一个空数组
function toArr(cArr) {
var arr = [];
for (var i = 0; i < cArr.length; i++) {
arr.push(cArr[i]);
}
return arr;
}
2.利用数组的slice()方法
function toArr(cArr) {
return Array.prototype.slice.call(cArr)
}
// or
function toArr(cArr) {
return [].slice.call(cArr)
}
3.Array.from()
function toArr(cArr) {
return Array.from(cArr)
}
4.展开运算符
function toArr(cArr) {
return [...cArr]
}