javascript中會改變原數組的方法
1.push()方法在數組的尾部添加一個或多個元素,并返回數組的長度
2.pop()方法刪除數組的最后一個元素,減小數組長度并返回它刪除的值。
參數:無
//組合使用push()和pop()能夠用JavaScript數組實現先進后出的棧
3.unshift()方法在數組的頭部添加一個或多個元素,并將已存在的元素移動到更高索引的位置來獲得足夠的空間,最后返回數組新的長度。
參數:item1,item2,...,itemX,要添加到數組開頭的元素
4.shift()方法刪除數組的第一個元素并將其返回,然后把所有隨后的元素下移一個位置來填補數組頭部的空缺,返回值是刪除的元素
參數:無。
5.splice()方法是在數組中插入或刪除元素的通用方法
語法array.splice(start[,deleteCount[,item1[,item2[,...]]]])
參數:
start
指定修改的開始位置(從0計數)。如果超出了數組的長度,則從數組末尾開始添加內容;如果是負值,則表示從數組末位開始的第幾位(從-1計數);若只使用start參數而不使用deleteCount、item,如:array.splice(start),表示刪除[start,end]的元素。
deleteCount(可選)
整數,表示要移除的數組元素的個數。如果deleteCount是0,則不移除元素。這種情況下,至少應添加一個新元素。如果deleteCount大于start之后的元素的總數,則從start后面的元素都將被刪除(含第start位)。如果deleteCount被省略,則其相當于(arr.length-start)。
item1,item2,...(可選)
要添加進數組的元素,從start位置開始。如果不指定,則splice()將只刪除數組元素。
返回值:由被刪除的元素組成的一個數組。如果只刪除了一個元素,則返回只包含一個元素的數組。如果沒有刪除元素,則返回空數組。
//start不超過數組長度(以下操作是連續的)
6.sort()方法將數組中的元素排序并返回排序后的數組
參數:
compareFunction(可選)用來指定按某種順序進行排列的函數。如果省略,元素按照轉換為的字符串的各個字符的Unicode位點進行排序。如果指明了compareFunction,那么數組會按照調用該函數的返回值排序。即a和b是兩個將要被比較的元素:
*如果compareFunction(a,b)小于0,那么a會被排列到b之前;
*如果compareFunction(a,b)等于0,a和b的相對位置不變。備注:ECMAScript標準并不保證這一行為,而且也不是所有瀏覽器都會遵守(例如Mozilla在2003年之前的版本);
*如果compareFunction(a,b)大于0,b會被排列到a之前。
*compareFunction(a,b)必須總是對相同的輸入返回相同的比較結果,否則排序的結果將是不確定的。
返回值:返回排序后的數組。原數組已經被排序后的數組代替。
7.reverse()方法將數組中的元素顛倒順序,返回逆序的數組。
參數:無
letarr=[1,2,3];
arr.reverse()//arr是[3,2,1],返回值是[3,2,1]
返回值:返回順序顛倒后的數組。原數組已經被排序后的數組代替。
8.copyWithin()方法淺復制數組的一部分到同一數組中的另一個位置,并返回它,而不修改其大小。(ES6新增)
語法:arr.copyWithin(target[,start[,end]])
參數:
target
0為基底的索引,復制序列到該位置。如果是負數,target將從末尾開始計算。
如果target大于等于arr.length,將會不發生拷貝。如果target在start之后,復制的序列將被修改以符合arr.length。
start
0為基底的索引,開始復制元素的起始位置。如果是負數,start將從末尾開始計算。
如果start被忽略,copyWithin將會從0開始復制。
end
0為基底的索引,開始復制元素的結束位置。copyWithin將會拷貝到該位置,但不包括end這個位置的元素。如果是負數,end將從末尾開始計算。
如果end被忽略,copyWithin將會復制到arr.length。
返回值:改變了的數組。
//copyWithin函數是設計為通用的,其不要求其this值必須是一個數組對象。
[].copyWithin.call({length:5,3:1},0,3);
//{0:1,3:1,length:5}
9.fill()方法用一個固定值填充一個數組中從起始索引到終止索引內的全部元素。(ES6新增)
語法:arr.fill(value[,start[,end]])
參數:
value用來填充數組元素的值。
start(可選)起始索引,默認值為0。
end(可選)終止索引,默認值為this.length。
如果start是個負數,則開始索引會被自動計算成為length+start,其中length是this對象的length屬性值.如果end是個負數,則結束索引會被自動計算成為length+end。
返回值:修改后的數組