1.slice
語法:slice(begin,end) 方法選擇一個從開始到結束(不包括結束)的數組的一部分淺拷貝到一個新的數組對象,方法不會改變原數組。如果是對象則拷貝對象的引用到新數組,如果是基本類型則會拷貝這些值到新數組。
如果省略begin則會從0開始。如果end被省略則會抽取到最后一個元素,如果end數值大於數組長度則會抽取到最后一個元素。
使用Array.prototype.slice.call(arguments)可以將類數組轉化為數組對象,[].slice.call(arguments)亦可
1 function list(){ 2 return Array.prototype.slice.call(arguments); 3 } 4 5 var list=list(1,2,3);//[1,2,3]
2.splice
語法:splice(start)
splice(start,deleteCount)
splice(start,deleteCount,item1,item2......)
返回一個包含被刪除元素的數組,start是必須值,其他是可選值,item表示要添加的元素,splice方法會直接對數組進行修改。
Array.prototype.splice.call(arguments,0);
3.Es6 Array.from
語法:Array.from(arguments)
4.Array.prototype.concat.apply([],arguments
)