js - 偽陣列轉化為陣列的幾種方法整理(更新中...)
阿新 • • 發佈:2018-12-12
偽陣列:無法呼叫陣列的方法,但是有length屬性,又可以索引獲取內部項的資料結構。
比如:arguments、getElementsByTagName等一系列dom獲取的NodeList物件,他們 都算。 轉換方法 一: 假設這裡有個偽陣列:pagislet 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));