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); })
// a的值为[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

2.2 易犯错误

通常情况下,map 方法中的 callback 函数只需要接受一个参数(很多时候,自定义的函数形参只有一个),就是正在被遍历的数组元素本身。

但这并不意味着 map 只给 callback 传了一个参数(会传递3个参数)。这个思维惯性可能会让我们犯一个很容易犯的错误。

// 下面的语句返回什么呢:
["1", "2", "3"].map(parseInt);
// 你可能觉的会是[1, 2, 3]
// 但实际的结果是 [1, NaN, NaN]// 通常使用parseInt时,只需要传递一个参数.但实际上,parseInt可以有两个参数.第二个参数是进制数.可以通过语句"alert(parseInt.length)===2"来验证.
// map方法在调用callback函数时,会给它传递三个参数:当前正在遍历的元素, 元素索引, 原数组本身.
// 第三个参数parseInt会忽视, 但第二个参数不会,也就是说,parseInt把传过来的索引值当成进制数来使用.从而返回了NaN./*
//应该使用如下的用户函数returnIntfunction returnInt(element){return parseInt(element,10);
}["1", "2", "3"].map(returnInt);
// 返回[1,2,3]
*/

参考 : https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map

转载于:https://www.cnblogs.com/zhou195/p/6908259.html

js 自带的 map() 方法相关推荐

  1. JS的forEach和map方法的区别

    一.前言 forEach()和map()两个方法都是ECMA5中Array引进的新方法,主要作用是对数组的每个元素执行一次提供的函数,但是它们之间还是有区别的.jQuery也有一个方法$.each() ...

  2. jquery中的map()方法与js中的map()方法

    1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...

  3. 用原生js把数字转换成货币人民币表示带逗号表示方法

    用原生js把数字转换成货币人民币表示带逗号表示方法 function rmb(str){let strArr = String( parseFloat(str).toFixed(2) ).split( ...

  4. JS调用后台带参数的方法

    JS调用后台带参数的方法 对于前台调用后台的方法,我们想到最多的就是用AJAX,这个是毋庸置疑的, 我就不再这里多说了.我今天主要想说的是用JS调用后台的方法. 对于后台往前台传值,用这种<%= ...

  5. JS中find(), findIndex(), filter(), forEach(), some(), every(), map()方法

    1. find()与findIndex() find()方法,用于找出第一个符合条件的数组成员.它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该 ...

  6. js数组的map方法以及parseInt方法

    无意看到一个方法: ["1", "2", "3"].map(parseInt); 返回值为:[1, NaN, NaN]. 好奇查了下map方 ...

  7. js 万年历农历转阳历 方法_JS实现带阴历的日历功能详解

    本文实例讲述了JS实现带阴历的日历功能.分享给大家供大家参考,具体如下: 工作中要写一个带阴历的日历,自己调研了怎么做日历. 一.表格行数问题 既然要显示日期表格的话,首先得知道这个表格有多少行多少列 ...

  8. js中数组map方法的使用和实现

    js中数组map方法的使用和实现 MDN中定义 map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值. 语法 var new_array = arr.map(fun ...

  9. JS Array.map方法内异步方法无法同步执行

    问题: JS Array.map方法内异步方法无法同步执行 场景: 我们在使用map来设置每一项值的时候,涉及到异步操作,就会出现问题. 按照常规,重现出一种情形. 假设我要使用map对每一项值进行操 ...

  10. 一分钟掌握js中的map方法

    目录 map是什么 map方法的结构及入参 语法糖 map一般不改变原数组 map是什么 map是操作js数组的方法,也可以说是一个函数,作用是遍历整个数组,对里面的每个值做处理再返回一个新的值. 注 ...

最新文章

  1. 0.2 秒居然复制了一个 100G 文件?怎么做到的?
  2. 打印机驱动程序属于计算机硬件吗,如何安装打印机驱动程序,详细教您如何给电脑安装打印机驱动程序...
  3. python如何读写文件-python文件的写入和读取
  4. JdbcType类型和Java类型的对应关系
  5. 锦州财经学校计算机系,锦州一职高与财经学校哪个好
  6. 谈谈DictionaryT1,T2和ListT的问题
  7. tcp当主动发出syn_一文读懂TCP四次挥手工作原理及面试常见问题汇总
  8. 算法48---原子的数量【栈】
  9. iOS开发快速入门javascript
  10. C++课设——药品管理系统
  11. JavaScript变量,js定义变量
  12. intellij idea 修改字体 修改主题
  13. python指南针_Mircopython: 在BPIbit上制作指南针
  14. 戴德金--连续性和无理数--我自己做的中文翻译第5页
  15. Java 盾神与砝码称重
  16. VR、AR、MR以及数字孪生
  17. LogAnomaly: Unsupervised Detection of Sequential and Quantitative Anomalies in Unstructured Logs
  18. eclipse改成护眼背景色
  19. Java程序的编辑、编译、运行
  20. 考研初试成绩出来了,然后呢...选导师!

热门文章

  1. git注意事项(持续更新中)
  2. SEO专题之三:SEO与网站开发
  3. [jQuery] form提交到iframe之后,获取iframe里面内容
  4. 新手教学--(常用的存储过程)
  5. 如何按照页面载入进度制作进度条??
  6. 牛客多校第九场 ZOJ3774 The power of Fibonacci(二次剩余定理+斐波那契数列通项/循环节)题解...
  7. 内容超过7行显示查看全文
  8. 盛京剑客系列17:市场暴跌下投资组合的调整
  9. Linux jdk 环境变量配置
  10. gerrit docker运行失败 chown: /var/gerrit/review_site: Permission denied 【已解决】