类数组转化为真实的数组

问题:

我们日常编程的过程中,经常使用数组的遍历,但是某些集合是类数组不是真正的数组,所以我们不能使用 map,forEach等方法进行遍历。

比如:

var eleArr = document.querySelectorAll('li');
var eleArr = document.getElementsByClassName('li');

获取的都是一个类数组的概念。不能使用map和forEach等,但是可以使用for循环遍历(目前还不知道for为什么可以)

解答:

1.使用Arrray.from()--ES6

2.[].slice.call(eleArr) 或则 Array.prototype.slice.call(eleArr)

示例:

let eleArr = document.querySelectorAll('li');

  Array.from(eleArr).forEach(function(item){

  alert(item);

});
let eleArr = document.querySelectorAll('li');

  [].slice.call(eleArr).forEach(function(item){

  alert(item);

});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章