类数组对象的特点和常见转换方法讲解

类数组对象的特点和常见转换方法讲解 第一张

类数组对象

类数组对象(Array-like Object)是指一种类似数组的对象,它有length属性,但是不是数组,它不具备数组的方法,不能用forEach、map等数组方法,但可以用for循环遍历。常见的类数组对象有arguments、DOM集合(NodeList)、字符串、函数内部的arguments等。

常见转换方法

将类数组对象转换为数组,可以使用以下方法:

  • Array.from() 方法:
    Array.from(arrayLikeObject);
  • Array.prototype.slice.call() 方法:
    Array.prototype.slice.call(arrayLikeObject);
  • ES6 spread 运算符:
    [...arrayLikeObject];
  • Array.prototype.concat() 方法:
    Array.prototype.concat.apply([], arrayLikeObject);

也可以使用for循环遍历类数组对象,将遍历出来的每个元素添加到一个新数组中:

let array = [];
for (let i = 0; i < arrayLikeObject.length; i++) {
    array.push(arrayLikeObject[i]);
}
© 版权声明
THE END
分享