JavaScript Array map()

陣列 (arrray) 的 map() 方法用來遍歷一個陣列中的每個元素,將元素分別傳入你指定的函數,最後將所有函數的返回值組成一個新的陣列。

語法:

var newArray = oldArray.map(callback[, thisArg])
  • 參數 callback 是一個函數,用來產生新陣列的元素,傳入的三個參數分別是:
    • currentValue 代表目前處理到的元素的值
    • index 代表目前處理到的元素的索引位置
    • array 代表陣列本身
    • 根據 callback 的執行結果,返回 true 表示測試通過;返回 false 則表示失敗
  • thisArg 代表 callback 裡面的 this 是指向哪一個物件
  • map() 執行結果會返回一個新陣列

用法:

var numbers = [1, 4, 9];

var doubles = numbers.map(function(num) {
    return num * 2;
});

// 輸出 [2, 8, 18]
console.log(doubles);

// 輸出 [1, 4, 9]
console.log(numbers);

IE 從 IE9 開始才有支援 map()。