Array methods
Add/remove items
splice 插入、移除、替換 array 的值
// array 可以使用 delete 刪除值,但屬性仍然存在
let arr = ["I", "go", "home"];
delete arr[1]; // remove "go"
alert( arr[1] ); // undefined
// now arr = ["I", , "home"];
alert( arr.length ); // 3
// splice
arr.splice(index[, deleteCount, elem1, ..., elemN])
// delete
let arr = ["I", "study", "JavaScript"];
arr.splice(1, 1); // from index 1 remove 1 element
alert( arr ); // ["I", "JavaScript"]
// replace
let arr = ["I", "study", "JavaScript", "right", "now"];
// remove 3 first elements and replace them with another
arr.splice(0, 3, "Let's", "dance");
alert( arr ) // now ["Let's", "dance", "right", "now"]
// splice 返回移除的值
let arr = ["I", "study", "JavaScript", "right", "now"];
// remove 2 first elements
let removed = arr.splice(0, 2);
alert( removed ); // "I", "study" <-- array of removed elements
// insert
let arr = ["I", "study", "JavaScript"];
// from index 2
// delete 0
// then insert "complex" and "language"
arr.splice(2, 0, "complex", "language");
alert( arr ); // "I", "study", "complex", "language", "JavaScript"
// 可以用負數 index
let arr = [1, 2, 5];
// from index -1 (one step from the end)
// delete 0 elements,
// then insert 3 and 4
arr.splice(-1, 0, 3, 4);
alert( arr ); // 1,2,3,4,5slice 返回複製指定位置新的 array
concat 串聯 array 或值
Iterate: forEach
Searching in array
indexOf/lastIndexOf and includes
find and findIndex 若 array 的元素是物件,要找到特定物件用 find,只返回第一個符合函示元素。
Transform an array
map 將 array 每個元素帶入函式並返回新的 array
sort(fn)
reverse
split and join 將 string 用符號分開成 array / 將 array 用符號連接成 string
reduce/reduceRight

Array.isArray
Most methods support “thisArg”
Last updated