1. 程式人生 > >js - 偽陣列轉化為陣列的幾種方法整理(更新中...)

js - 偽陣列轉化為陣列的幾種方法整理(更新中...)

偽陣列:無法呼叫陣列的方法,但是有length屬性,又可以索引獲取內部項的資料結構。

比如:arguments、getElementsByTagName等一系列dom獲取的NodeList物件,他們 都算。   轉換方法   一: 假設這裡有個偽陣列:pagis
let arr = [].slice.call(pagis)

console.log(arr)   這時arr就是真陣列了。

 

二:

let arr  = Array.prototype.slice.call(pagis);

利用了slice傳一個數組/集合,就會直接返回這個集合的原理。拿到的也是陣列。

也就可以使用陣列的各種方法了。

 

三:

1 var arr1 = [],
2   len1 = pagis.length;
3 for (var i = 0; i < len1; i++) {
4   arr1.push(pagis[i]);
5 }

就是簡單的for迴圈,把類陣列的每一項都push到真正的數字arr1中

 

 

四:

1 var func = Function.prototype.call.bind(Array.prototype.slice);
2 console.log('類陣列轉換成陣列:', func(pagis));