目录

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()不改变原来的数组。


语法

array.map( function(currentValue, index, arr), thisValue)

参数

Parameter Description
function() Required.
A function to be run for each array element.
currentValue Required.
The value of the current element.
index Optional.
The index of the current element.
arr Optional.
The array of the current element.
thisValue Optional.
Default value undefined.
A value passed to the function to be used as its this value.

返回值

类型 描述
数组 每个数组元素的函数结果。


更多示例

获取每个人的全名:

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) 功能。

所有浏览器完全支持 ES5 (JavaScript 2009):

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes 9-11