關於 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() | 陣列 |