问题:
我们日常编程的过程中,经常使用数组的遍历,但是某些集合是类数组不是真正的数组,所以我们不能使用 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);
});