問題:
我們日常編程的過程中,經常使用數組的遍歷,但是某些集合是類數組不是真正的數組,所以我們不能使用 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);
});