Array Method
範例在此,it 邦
Method
原本陣列
return
Basic Array Method
push(ele)
Array 改變
Number (length)
unshift(ele)
Array 改變
Number (length)
pop()
Array 改變
被移掉的那個值
shift()
Array 改變
被移掉的那個值
concat()
不變
Array
Filter something
findIndex(callback)
不變
Number
find(callback)
不變
第一個找到的 "值"
filter(callback)
不變
符合條件的 Array
forEach(callback)
Array 改變
undefined
map(callback)
不變
數量為 array.length 的 Array
some(callback)
不變
Boolean
every(callback)
不變
Boolean
Special
reduce(acc, cur)
不變
值
Order
sort()
Array 改變
數量為 array.length 的 Array
toSorted()
不變
reverse()
Array 改變
數量為 array.length 的 Array
toReversed()
不變
Operation
slice(start, end)
不變
return 包含 start 不包含 end 的 Array
splice(start, deleteCount, insert)
Array 改變
回傳移掉的值 Array
toSpliced(start, deleteCount, insert)
不變
回傳結果Array
indexOf(ele)
不變
所在位置 Number
join()
不變
String
includes(ele)
不變
Boolean
flat([depth])
不變
const arr1 = [0, 1, 2, [3, 4]];
arr1.flat() // [0, 1, 2, 3, 4]
Immutable way
Add
concat
Delete
filter
其他常用
Array.isArray()
判斷是否為 Array
Array.isArray([]) // true Array.isArray("[]") // false
Array.from({ length: 5 })
Array.from({ length: 5 }). // [undefined, undefined...]. 總共五個
Array.from ({ length: 5 }, fn)
Array.from({length: 3}, () => Array(2).fill(0)) // [ [0,"0], [0,0], [0,0] ] Array.from({length: 3}, (_, i) => i + 1) // [1,2,3]
[ arr1, arr2 ] = [ arr2, arr1 ]
交換位置
let arr = [1,2,3]
[ arr[0], arr[2] ] = [ arr[2], arr[0] ]
// [3,2,1]
arr[i] = arr[len -1] arr.pop()
把算過丟到最後然後 pop()
[1,2,3] 移掉 1
Object.fromEntries
把 array 變回 object
Object.fromEntries([[0,'a'], [1,'b']]) // [{0: 'a', 1: 'b'}
Reimplement the Array
method
Array
methodArray.map
Array.filter
Last updated