關於 JavaScript 陣列 20 種操作的方法https://israynotarray.com/javascript/20190421/1216566123/
W3C
https://www.w3schools.com/js/js_array_iteration.asp
MDN
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter.
卡斯伯
https://www.casper.tw/javascript/2017/06/29/es6-native-array/#Array-prototype-map

| return 值 | Me的口語化記憶 | 應用 | |
|---|---|---|---|
| .filter() | 條件為true的物件組成之陣列 | ||
| .find() | 第一次為true的值(可用於找一個值的情況) | ||
| .findIndex() | 項目的index; | ||
| 若找不到回傳 -1 | |||
| .map() | 有條件式時:[true, false]的陣列 | ||
| 沒有條件時:原陣列 | |||
| *回傳的長度等於原陣列長度 | |||
| .forEach | 不會回傳,單純執行每個陣列內的物件或值 | ||
| *連結筆記 | 用來執行的啦,不是用來取值的! | ||
| .every() | 陣列全部符合條件:true | ||
| 陣列部分不符合條件:false | |||
| *可以用來檢查陣列中的內容是否符合特定條件。 | 很嚴格 | ||
| .some() | 只要陣列有一個符合條件:true | 很隨性 | |
| .reverse() | 回傳翻轉後的陣列 | 針對翻轉的陣列去做排序 | |
| .sort() | 回傳排序過的陣列 | ||
| 排序數字:要寫function;(註一) | 
               若直接排序則會變成字串來排第一個字
排序字母:直接排 | 針對陣列去做排序 | | | .reduce() | 按照順序累加後的數字或字串 | 感覺起來就是累加 | | | .reduceRight() | 按照反順序累加後的數字或字串 | 倒過來累加 | | | .join() | 將陣列(或一個類陣列(array-like)物件)中所有的元素連接、合併成一個字串,並回傳此字串。 | 把陣列bang字串 | 1. 把多個HTML中間加入(” ”), 然後使用innerHTML生成52張牌。 | | Array.from | 一個array實體 | 就是生出一個陣列給你的概念啦 | 1. 產生52撲克牌 |
| splice()
| 修改陣列 | 口語:想要陣列增減項目適合用 | |
|---|---|---|
| 第1個值 | 要發生變化的位置 ( [ ] ) | |
| *未定義:從[0]開始,也可以是負值(陣列最後一個字為編號:-1) | ||
| 第2個值 | 要刪掉幾個數 (數量) | |
| 第3個值 | 要插入的值 | |
| slice() | ||
| 不會修改陣列 | 一種Array-like | 口語:只想要陣列的某個部份適合用 | 
| 第1個值 | 從這個位置開始要保留後面的陣列直到第二個值的位置,但不包含第二個值的位置 | |
| *未定義:從[0]開始,也可以是負值(陣列最後一個字為編號:-1) | ||
| *數字若比陣列長,回傳空陣列 | ||
| 第2個值 | 不包含的位置 | |
| *未定義:印出往後全部的值 | ||
| split() | ||
| 會根據括號裡面的字來切開字串,但括號裡的字會消失 | 
cf. 用於字串的substring() / substr()
| return value(回傳值) | 應用 | |
|---|---|---|
| 從後面改變 | ||
| pop() | 刪掉的值 | |
| push() | 長度 (length) | |
| 從前面改變 | ||
| shift() | 刪掉的值 | |
| unshift() | 長度 (length) | |
| 從中間改變 | ||
| splice() | 陣列/空陣列(沒有元素被刪除的話,就會變成空陣列,像是加入數字) | *想把特定電影從喜好清單中刪除 | 
| slice() | 陣列 | *做分頁(0-11:第一頁, 12-23:第二頁, ….) | 
| 陣列合併 | ||
| concat() | 陣列 |