本人學習過程中編寫,定有美中不足,如果有錯誤,請您積極指正;如果有幫助,請不要吝啬您的贊美(點贊),歡迎各位大佬點贊評論。
什麼是僞數組?
1.具備數組的一些特性: 按照索引方法存儲資料,具有length屬性 。
2.不能直接調用數組的一些方法: 如push(),pop()等方法
let array = [1,2,3,4,5]; //标準數組
let argument= {0:'a',1:'b',length:2} //标準的僞數組對象
兩者輸出
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR9ENFpmT0MGVOBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1UTN1MDOwATM2EzNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
es5中僞數組的轉換
//Array.prototype.slice.call()
let ary = [].slice.call(argument);
es6中僞數組的轉換
//Array.prototype.from(arraylist,manFn,thisAry);
//arrayList僞數組
//manFn:周遊函數
//thisAry:如果manpn中指代了this,則this指向的就是該參數
let ary = Array.from(argument);
Array.from()的周遊功能:
//假如我們要初始化一個長度為5的數組,并為其指派
//es5做法
let array = Array(5);
for(let i = 0,len = array.length;i < len;i++){
array[i] = 1;
}
console.log(array);
//es6做法
let ary = Array.from({ length:5 },function(){ return 1; });
console.log(array);
可以看出,這兩者效果相同,但是es6的方法更加簡單;