返回一个新数组,其中包含所有元素值的平方根:
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 |
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!