javascript中會改變原陣列的方法
1. push() 方法在陣列的尾部新增一個或多個元素,並返回陣列的長度
引數:無
//組合使用push()和pop()能夠用JavaScript陣列實現先進後出的棧
3. unshift() 方法在陣列的頭部新增一個或多個元素,並將已存在的元素移動到更高索引的位置來獲得足夠的空間,最後返回陣列新的長度。
引數: item1, item2, ..., itemX ,要新增到陣列開頭的元素
引數: 無。
語法 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不超過陣列長度(以下操作是連續的)
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() 方法將陣列中的元素顛倒順序,返回逆序的陣列。
引數: 無
let arr = [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。
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。
返回值: 修改後的陣列
javascript中會改變原陣列的方法
1. push() 方法在陣列的尾部新增一個或多個元素,並返回陣列的長度
引數:無
//組合使用push()和pop()能夠用JavaScript陣列實現先進後出的棧
3. unshift() 方法在陣列的頭部新增一個或多個元素,並將已存在的元素移動到更高索引的位置來獲得足夠的空間,最後返回陣列新的長度。
引數: item1, item2, ..., itemX ,要新增到陣列開頭的元素
引數: 無。
語法 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不超過陣列長度(以下操作是連續的)
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() 方法將陣列中的元素顛倒順序,返回逆序的陣列。
引數: 無
let arr = [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。
返回值: 修改後的陣列