Array 的方法
1 Array.join(): 把所有元素用符號連結成string返回, 如果元素不是基本類型, 先呼叫toString.
它對應string.split();
arr = [1,2,true,3,4,5];
(arr.join('-') == '1-2-true-3 -4-5';
2 Array.reverse(): 逆序排列數組
arr = [1,2,true,3,4,5];
arr.reverse();// arr == [5,4,3,true,2,1];
3 Array.sort(): 排序,可以傳遞一個排序函數作參數
arr.sort(function(a,b){
return a-b;
}) ;
4 Array.concat(): 拼接函數,
在末尾拼接上新元素,返回拼接後的array,但是不改變原array;參數可以是一個元素,多個元素,一個數組,
如果是一個元素,或多個元素,直接把這些元素加到末尾,如果是一個數組,則把數組各個元素拿出來拼接到尾部。
a = [1,2,3];
a.concat(4,5)// return [1,2,3,4,5]
a.concat([4,5] )// return [1,2,3,4,5]
a.concat([4,5],[6,7]);//return [1,2,3,4,5,6 ,7]
a.concat([4,[5,6]])//return [1,2,3,4,[5,6]]//注意
5 Array.slice(startPos, endPos): 取子字串函數(原array不變)
從startPos開始到endPos結束但不包含endPos上的元素
若沒有endPos,則取到尾
若pos為負, 則倒數
a = [1,2,3,4,5];
a.slice(0,3)// return [1,2,3]
a.slice(3)//return [4,5]
a.slice(1,-1)//return [2,3,4]//從第一個開始取,取到倒數第1個,但不包括倒數第1個
a.slice(1,-2);//return [2,3]//從第一個開始取,取到倒數第2個,但不包括倒數第2個
6 Array.splice(startPos, length, [added1, added2...]) 隨機存取函數
可以隨機刪除一個(些)元素,也可以再增加一些元素,
如果只有兩個參數,則從array中刪除從startPos開始總共length個元素
如果有兩個以上參數,則從array中刪除從startPos開始總共length個元素,再從剛才刪除的位置加入上後面的元素
如果被加的元素是一個數組則把這個數組當作一個元素(與concat差別)
a = [1,2,3,4,5];
a. splice(1,2)//return [2,3]; a==[1,4,5]
a.splice(1,2,6,7,8)//return [2,3] ; a==[1,6,7,8,4,5]
a.splice(1,2,[6,7,8]);//return [2,3]; a==[ 1,[6,7,8],4,5]
7 Array.push() 和 Array.pop();
都是操作最後一個元素,push是新增,pop是刪除最後一個元素並回傳該元素
8 Array.unshift() 和 Array.shift()
都是操作第一個元素,unshift是新增,shift是刪除第一個元素並傳回該元素
合計起來
這些方法會改變原array:reverse, sort, splice, push, pop, unshift, shift
這些方法不會改變原array :join, concat, splice