map() 方法

Posted 光炎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map() 方法相关的知识,希望对你有一定的参考价值。

1. 方法概述

map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组。

2. 例子

2.1 在字符串中使用map

在一个 String 上使用 map 方法获取字符串中每个字符所对应的 ASCII 码组成的数组:

var map = Array.prototype.map
var a = map.call("Hello World", function(x) { return x.charCodeAt(0); })
// 下面的语句返回什么呢:
    ["1", "2", "3"].map(parseInt);

// 你可能觉的会是[1, 2, 3]
// 但实际的结果是 [1, NaN, NaN]

// 通常使用parseInt时,只需要传递一个参数.但实际上,parseInt可以有两个参数.第二个参数是进制数.可以通过语句"alert(parseInt.length)===2"来验证.
// map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素, 元素索引, 原数组本身.
// 第三个参数parseInt会忽视, 但第二个参数不会,也就是说,parseInt把传过来的索引值当成进制数来使用.从而返回了NaN.


 //应该使用如下的用户函数returnInt

 function returnInt(element){
 return parseInt(element,10);
 }

 ["1", "2", "3"].map(returnInt);// 返回[1,2,3]

3.map()方法的实现原理

 1 Array.prototype.myMap = function(callback){
 2     var arr = [];
 3     for(var i = 0; i < this.length; i++){
 4         var value = callback(this[i],i,this);
 5         if(value == null){
 6             continue;
 7         }
 8         arr.push(value);
 9     }
10     return arr;
11 }
12 
13 var items = [1,2,3,4];
14 
15 var arr = items.myMap(function(item,i){
16     return item*10;
17 });

 

以上是关于map() 方法的主要内容,如果未能解决你的问题,请参考以下文章

Map补充:map遍历方法和computeIfAbsent()方法

java map .put 方法

Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

js数组的map方法

数组方法map和forEach的使用方法有哪些?

java中map put方法的问题