今天在學習的時候碰到一個新概念,類數組,我用document.querySelectorAll 獲取元素的時候,覺得返回的是數組,想用splice方法操做這個數組,發現不行,查了一下資料發現這個方法返回的不是數組,叫類數組。總結了一下,arguments函數數組
1 let ips = document.querySelectorAll('input') 2 3 let divarr = [] 4 5 for(let i = 0; i <ips.length; i++){ 6 divarr.push(ips[i]) 7 }
//也能夠用這種方法
1 let ips = document.querySelectorAll('input') 2 3 let divarr = [] 4 5 divarr = [...ips] 6 或 7 divarr = Array.from(ips)
1 let ips = document.querySelectorAll('input') 2 3app
let divarr = [].concat.apply([],ips); 函數
4、Array.prototype.slice.call() 學習
1 Array.prototype.slice = function(start,end){ 2 var result = new Array(); 3 start = start || 0; 4 end = end || this.length; //使用call以後this指向了類數組對象 5 for(var i = start; i < end; i++){ 6 result.push(this[i]); 7 } 8 return result; 9 }
var
div1 = Array.prototype.slice.call(document.querySelectorAll(
'div'
), 0);
var
div2 = Array.prototype.slice.call(document.querySelectorAll(
'div'
));