Javascript數組原型提供的方法非常之多,主要分為三種:
-
直接修改原數組
-
原數組不變,返回新數組
-
數組遍歷方法
直接修改原數組的API
pop()
刪除一個數組中的最后的一個元素,並且返回這個元素
push()
添加一個或者多個元素到數組末尾,並且返回數組新的長度
shift()
刪除數組的第一個元素,並返回這個元素
unshift()
在數組開始處插入一些元素,並返回數組新的長度
splice()
從數組中添加/刪除一些元素,然后返回被刪除的元素
reverse()
顛倒數組中元素的順序
sort()
用於對數組的元素進行排序
fill() -- ES6新增
將數組指定區間內的元素替換為某個值
copyWithin() -- ES6新增
數組內元素之間的替換
返回新數組的API
contact()
將傳入的數組或者元素與原數組合並,組成一個新的數組並返回
slice()
連接兩個或多個數組
join()
將數組中的所有元素連接成一個字符串
indexOf()
用於查找元素在數組中第一次出現時的索引,如果沒有,則返回-1
lastIndexOf()
用於查找元素在數組中最后一次出現時的索引,如果沒有,則返回-1
includes() -- ES7新增
用來判斷當前數組是否包含某個指定的值,如果是,則返回 true,否則返回false
toSource() -- 未入標准
返回數組的源代碼,目前只有 Firefox 實現了它
數組遍歷方法
forEach()
指定數組的每項元素都執行一次傳入的函數,返回值為undefined
map()
遍歷數組,使用傳入函數處理每個元素,並返回函數的返回值組成的新數組
filter()
使用傳入的函數測試所有元素,並返回所有通過測試的元素組成的新數組
every()
使用傳入的函數測試所有元素,每一個元素經傳入的函數處理都返回true該方法才返回true,否則返回false(驗證是否每一個元素都滿足測試函數)
some()
使用傳入的函數測試所有元素,只要有一個元素經傳入的函數處理返回true該方法就返回true,否則返回false(驗證是否有元素都滿足測試函數)
reduce()
接收一個方法作為累加器,數組中的每個值(從左至右) 開始合並,最終為一個值
reduceRight()
接收一個方法作為累加器,數組中的每個值(從右至左) 開始合並,最終為一個值
find() -- ES6新增
返回數組中第一個滿足條件的元素(如果有的話), 如果沒有,則返回 undefined
findIndex() -- ES6新增
返回數組中第一個滿足條件的元素的索引(如果有的話), 如果沒有,則返回 -1
keys() -- ES6新增
返回一個數組索引的迭代器
values() -- ES6新增
返回一個數組迭代器對象,該對象包含數組中每個索引的值
entries() -- ES6新增
返回一個數組迭代器對象,該對象包含數組中每個索引的鍵值對
