JavaScript Array map()
示例
返回一個新陣列,其中包含所有元素值的平方根
const numbers = [4, 9, 16, 25];
const newArr = numbers.map(Math.sqrt)
自己動手試一試 »
將陣列中的所有值乘以 10
const numbers = [65, 44, 12, 4];
const newArr = numbers.map(myFunction)
function myFunction(num) {
return num * 10;
}
自己動手試一試 »
更多示例見下文。
描述
map()
透過對每個陣列元素呼叫函式來建立新陣列。
map()
不會為空元素執行函式。
map()
不會改變原始陣列。
陣列迭代方法
語法
陣列.map(function(currentValue, index, arr), thisValue)
引數
引數 | 描述 |
function() | 必需。 為每個陣列元素執行的函式。 |
currentValue | 必需。 當前元素的值。 |
index | 可選。 當前元素的索引。 |
arr | 可選。 當前元素所屬的陣列。 |
thisValue | 可選。 預設值 undefined 。傳遞給函式的值,用作其 this 值。 |
返回值
型別 | 描述 |
一個數組 | 每個陣列元素的函式結果。 |
更多示例
獲取每個人的全名
const persons = [
{firstname : "Malcom", lastname: "Reynolds"},
{firstname : "Kaylee", lastname: "Frye"},
{firstname : "Jayne", lastname: "Cobb"}
];
persons.map(getFullName);
function getFullName(item) {
return [item.firstname,item.lastname].join(" ");
}
自己動手試一試 »
瀏覽器支援
map()
是 ECMAScript5 (ES5) 的一個特性。
自 2013 年 7 月以來,所有現代瀏覽器都完全支援 ES5 (JavaScript 2009)
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |