es6怎么实现伪数组转数组

avatar
作者
猴君
阅读量:0

在ES6中,可以使用Array.from()方法将类数组对象(伪数组)转换为真正的数组。

伪数组是一种类数组对象,它具有类似数组的特性,但不具备数组的方法和属性。常见的伪数组包括arguments对象、DOM NodeList对象等。

下面是使用Array.from()方法将伪数组转换为数组的示例代码:

// 伪数组 var arrayLike = {   0: 'a',   1: 'b',   2: 'c',   length: 3 };  // 将伪数组转换为数组 var array = Array.from(arrayLike);  console.log(array); // ['a', 'b', 'c'] 

Array.from()方法接受一个可迭代对象作为参数,并返回一个新的数组。该方法会遍历可迭代对象并逐个将其元素添加到新数组中。

需要注意的是,Array.from()方法只能转换具有数值键和length属性的对象。因此,在将伪数组转换为数组之前,需要确保伪数组对象具有正确的键和长度属性。

另外,如果要将特定类型的伪数组转换为数组,可以使用Array.from()方法的第二个参数进行映射。例如,将DOM NodeList对象转换为数组:

// DOM NodeList对象 var nodeList = document.querySelectorAll('div');  // 将DOM NodeList对象转换为数组 var array = Array.from(nodeList, element => element.textContent);  console.log(array); // 包含了每个div元素的文本内容的数组 

上述示例中,Array.from()方法的第二个参数是一个映射函数,用于将每个元素映射为其文本内容,并将映射结果添加到新数组中。

总结:使用Array.from()方法可以方便地将伪数组转换为数组,并且可以通过第二个参数进行元素的映射。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!