修改器方法
下面的這些方法會改變調用它們的對象自身的值:
-
Array.prototype.copyWithin() - 在數組內部,將一段元素序列拷貝到另一段元素序列上,覆蓋原有的值。
-
Array.prototype.fill() - 將數組中指定區間的所有元素的值,都替換成某個固定的值。
-
Array.prototype.pop() - 刪除數組的最后一個元素,並返回這個元素。
-
Array.prototype.push() - 在數組的末尾增加一個或多個元素,並返回數組的新長度。
-
Array.prototype.reverse() - 顛倒數組中元素的排列順序,即原先的第一個變為最后一個,原先的最后一個變為第一個。
-
Array.prototype.shift() - 刪除數組的第一個元素,並返回這個元素。
-
Array.prototype.sort() - 對數組元素進行排序,並返回當前數組。
-
Array.prototype.splice() - 在任意的位置給數組添加或刪除任意個元素。
-
Array.prototype.unshift() - 在數組的開頭增加一個或多個元素,並返回數組的新長度。
訪問方法
下面的這些方法絕對不會改變調用它們的對象的值,只會返回一個新的數組或者返回一個其它的期望值。
-
Array.prototype.concat() - 返回一個由當前數組和其它若干個數組或者若干個非數組值組合而成的新數組。
-
Array.prototype.includes() -
判斷當前數組是否包含某指定的值,如果是返回
true,否則返回false。 -
Array.prototype.join() - 連接所有數組元素組成一個字符串。
-
Array.prototype.slice() - 抽取當前數組中的一段元素組合成一個新數組。
-
Array.prototype.toSource() -
返回一個表示當前數組字面量的字符串。遮蔽了原型鏈上的
Object.prototype.toSource()方法。 -
Array.prototype.toString() -
返回一個由所有數組元素組合而成的字符串。遮蔽了原型鏈上的
Object.prototype.toString()方法。 -
Array.prototype.toLocaleString() -
返回一個由所有數組元素組合而成的本地化后的字符串。遮蔽了原型鏈上的
Object.prototype.toLocaleString()方法。 -
Array.prototype.indexOf() - 返回數組中第一個與指定值相等的元素的索引,如果找不到這樣的元素,則返回 -1。
-
Array.prototype.lastIndexOf() - 返回數組中最后一個(從右邊數第一個)與指定值相等的元素的索引,如果找不到這樣的元素,則返回 -1。
迭代方法
在下面的眾多遍歷方法中,有很多方法都需要指定一個回調函數作為參數。在每一個數組元素都分別執行完回調函數之前,數組的length屬性會被緩存在某個地方,所以,如果你在回調函數中為當前數組添加了新的元素,那么那些新添加的元素是不會被遍歷到的。此外,如果在回調函數中對當前數組進行了其它修改,比如改變某個元素的值或者刪掉某個元素,那么隨后的遍歷操作可能會受到未預期的影響。總之,不要嘗試在遍歷過程中對原數組進行任何修改,雖然規范對這樣的操作進行了詳細的定義,但為了可讀性和可維護性,請不要這樣做。
-
Array.prototype.forEach() - 為數組中的每個元素執行一次回調函數。
-
Array.prototype.entries() - 返回一個數組迭代器對象,該迭代器會包含所有數組元素的鍵值對。
-
Array.prototype.every() -
如果數組中的每個元素都滿足測試函數,則返回
true,否則返回false。 -
Array.prototype.some() - 如果數組中至少有一個元素滿足測試函數,則返回 true,否則返回 false。
-
Array.prototype.filter() -
將所有在過濾函數中返回
true的數組元素放進一個新數組中並返回。 -
Array.prototype.find() -
找到第一個滿足測試函數的元素並返回那個元素的值,如果找不到,則返回
undefined。 -
Array.prototype.findIndex() -
找到第一個滿足測試函數的元素並返回那個元素的索引,如果找不到,則返回
-1。 -
Array.prototype.keys() - 返回一個數組迭代器對象,該迭代器會包含所有數組元素的鍵。
-
Array.prototype.map() - 返回一個由回調函數的返回值組成的新數組。
-
Array.prototype.reduce() - 從左到右為每個數組元素執行一次回調函數,並把上次回調函數的返回值放在一個暫存器中傳給下次回調函數,並返回最后一次回調函數的返回值。
-
Array.prototype.reduceRight() - 從右到左為每個數組元素執行一次回調函數,並把上次回調函數的返回值放在一個暫存器中傳給下次回調函數,並返回最后一次回調函數的返回值。
-
Array.prototype.values() - 返回一個數組迭代器對象,該迭代器會包含所有數組元素的值。
-
Array.prototype[@@iterator]() -
和上面的
values() 方法是同一個函數。
