【JS】数组——伪数组转为数组的几种方案

在前端开发中,有很多常见的伪数组,比如:

  1. 用getElementByTagName/ClassName/Name()获得的HTMLCollection
  2. 用querySlector获得的nodeList
  3. 方法中的arguments

那这导致很多数组的方法就不能用了,必要时需要我们将它们转换成数组,有哪些方法呢?

1. 传统for循环方法

新建一个空数组,遍历伪数组,将伪数组中的元素添加到新数组中去

代码演示





    
    
    01 传统方式for循环








运行结果

2. Array.prototype.slice.call()

通过调用数组的slice方法,改变slice中的指向,返回一个新的数组

代码演示


运行结果

3. ES6新增方法Array.from()

es6对数组的增强方法,可以将类数组转换为真实的数组

代码演示


4. ES6的扩展运算符

使用es6的扩展运算符,能创建一个新的数组

代码演示


5. Array.prototype.concat.apply()方式

使用函数的apply方法,将伪数组当作concat的参数,由于apply会自动将伪数组拆开来当作concat方法的参数

代码演示


你可能感兴趣的:(【JS】数组——伪数组转为数组的几种方案)