WebGL Tutorial
and more

map

撰写时间:2024-03-05

最新修订:2024-03-09

map

映射数组元素。根据回调函数的返回值重新生成一个新的数组。不会修改原数组。

原型

*[]map
  • functioncallbackFn
  • *[]thisArg

参数

callbackFn

回调函数。该回调函数接受3个参数。其原型如下:

* | undefinedcallbackFn
  • *element
  • numberindex
  • *[]array
element
当前遍历到的数组元素。
index
当前遍历到的数组索引值。
array
调用map方法的数组实例。

回调函数返回一个数值,以供map方法将其生成为新数组的一个元素。如果回调函数没有显式地返回数值,则默认返回undefined

thisArg
调用map方法的数组实例。可选。

返回值

返回一个新的数组,新数组的每个元素为回调函数在每次遍历时所返回的值。

说明

map方法通过获取回调函数的返回值来生成一个新数组。

例子

基本用法

let arr = [1, 2, 3]; let newArr = arr.map(element => { return element * 2; }); console.log(newArr);

显示:

[2, 4, 6]

如果回调函数体内只有一行语句,则可省略return语句而得到很优美的代码:

let newArr = arr.map(v => v * 2);

但这是lambda的特性,只是别忘了它实际返回数值就行。

如果不需要改变数组元素的值,使用forEach方法即可。

参见

  1. filter
  2. forEach

参考资源

  1. ECMA 262: Array Objects