有次面談中有被問到關於 JavaScript 陣列方法的回傳值,這次就來簡單複習一下吧。
會改到原陣列的方法
push
在陣列的尾巴加入新元素,回傳陣列的 lengthunshift
在陣列的開頭加入新元素,回傳陣列的 lengthpop
拿掉陣列的最後一個元素,回傳被拿掉的元素,如果是空陣列會回傳 undefined。shift
移除陣列第一個元素,回傳被拿掉的元素,如果是空陣列會回傳 undefined。
splice
可以拿來刪除元素或加入新元素,回傳被刪除的元素陣列。reverse
反轉並回傳反轉後的陣列sort
對陣列所有元素做排序,並回傳此排序後的陣列fill
將陣列元素改為某個靜態的值,並回傳更改後的陣列
forEach
為遍歷陣列的方法,回傳 undefined
會回傳一個新陣列的方法
map
也是會遍歷陣列所有元素一遍的方法,但是會回傳一個新的陣列。
filter
透過 callback,來篩選元素,回傳新陣列。slice
會回傳新陣列,可以拿來拷貝陣列。concat
合併一個或多個陣列,並回傳新陣列。
其他 methods
indexOf
給一個特定的值,回傳第一個在陣列被找到『這個值』的 index,找不到就回傳 -1find
回傳第一個滿足條件的元素的值,找不到就回傳 undefinedfindIndex
前面兩個的結合,也就是給定一個 callback,callback 為描述滿足的條件,找到就返回 index,找不到會回傳 -1includes
判斷陣列是否包含特定的元素,回傳布林值。join
將陣列所有元素合併成一個字串,回傳此字串reduce
比較難以解釋,總之就是利用 accumulator,來反應 currentValue,並回傳單一值,這個值可以是 number, string, boolean, object, array。