push()

將一個或多個元素添加到陣列的 末尾, 並返回陣列的新長度:

const arr = [1, 2, 3];

arr.push(4);

console.log(arr);
// expected output: Array [1, 2, 3, 4]

pop()

從陣列中刪除 最後一個元素, 並返回該元素的值:

const arr = [1, 2, 3];

arr.pop();

console.log(arr);
// expected output: Array [1, 2]

shift()

從陣列中刪除 第一個元素, 並返回該元素的值:

const arr = [1, 2, 3];

arr.shift();

console.log(arr);
// expected output: Array [2, 3]

unshift()

將一個或多個元素添加到陣列的 開頭, 並返回陣列的新長度:

const arr = [1, 2, 3];

arr.unshift(4);

console.log(arr);
// expected output: Array [4, 1, 2, 3]

map()

會將陣列中的每個元素 映射 到另一個函式中, 並回傳一個新的陣列

map() 可以接收三個參數:

  • currentValue => 當前處理的元素, 為必須參數

  • index => 當前處理的元素的索引, 非必須參數

  • array => 呼叫 map 的陣列, 非必須參數

const arr = [1, 2, 3];

const newArr = arr.map((item, index, array) => {
  return item * 2;
});

console.log(newArr);
// expected output: Array [2, 4, 6]

filter()

會將陣列中的每個元素 過濾 到另一個函式中, 並回傳一個新的陣列:

const arr = [1, 2, 3];

const newArr = arr.filter((item) => item > 1);

console.log(newArr);
// expected output: Array [2, 3]

slice()

會回傳一個新的陣列, 其中包含 指定範圍 的元素:

slice() 可以接收兩個參數

  • start => 開始切割的索引

  • end => 結束切割的索引

const arr = [1, 2, 3];

const newArr = arr.slice(1, 2);

console.log(newArr);
// expected output: Array [2]

splice()

會從陣列中 刪除 元素, 也可以 插入 新元素, 並返回被刪除的元素:

splice() 可以接收三個參數

  • start => 開始刪除的索引

  • deleteCount => 刪除的元素個數

  • item1, item2, ... => 插入的元素

const arr = [1, 2, 3];

const newArr = arr.splice(1, 1, 4, 5);

console.log(newArr);
// expected output: Array [2]
console.log(arr);
// expected output: Array [1, 4, 5, 3]

every()

會檢測陣列中的每一個元素是否 符合條件, 並回傳布林值:

const arr = [1, 2, 3];

const result = arr.every((item) => item > 1);

console.log(result);
// expected output: false

some()

會檢測陣列中的每一個元素只要有 一個 符合條件, 就會回傳布林值:

const arr = [1, 2, 3];

const result = arr.some((item) => item > 1);

console.log(result);
// expected output: true