定义

伪数组 (ArrayLike) ,又称类数组。是一个类似数组的对象

具有如下特征:

  • 按索引方式储存数据
    • 0: xxx, 1: xxx, 2: xxx...
  • 具有length属性
    • 但是length属性不是动态的,不会随着成员的变化而改变
  • 不具有数组的push()forEach()等方法

常见的伪数组有DOM元素集合,函数中的arguments对象,以及字符串String对象。

4f1uNT.pngopen in new window

伪数组转数组的方法

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]
}
上次更新:
贡献者: chenzilin