map

  • 生成新数组的函数,3个参数
  • 1-currentValue, callback数组中正在处理的当前元素
  • 2-index(可选): callback数组中正在处理的当前元素的索引
  • 3-array(可选): map方法调用的数组
/**
* 语法:
* var new_array = arr.map(function callback(currentValue[,index[,array]]){
* // return element for new_array
* }[,thisArg])
*/
/**
* callback: 生成新数组元素的函数,3个参数
* 1-currentValue, callback数组中正在处理的当前元素
* 2-index(可选): callback数组中正在处理的当前元素的索引
* 3-array(可选): map方法调用的数组
*
* thisArg: 可选-执行callback函数时值被作用做this
*
*/ var numbers = [1, 4, 9]
var double = numbers.map(x => x * 2)
console.info(double) /**
* 通常情况下,map 方法中的 callback 函数只需要接受一个参数,就是正在被遍历的数组元素本身。
* 但这并不意味着 map 只给 callback 传了一个参数。这个思维惯性可能会让我们犯一个很容易犯的错误。
*/ //
const newIntArray = ["1", "2", "3"].map(parseInt)
console.info(newIntArray) // [ 1, NaN, NaN ]
// parseInt 经常被带着一个参数使用, 但是这里接受两个:
// 第一个参数是一个是表达式,第二个是callback function
// .map传递3个, element,index,array
// 第3个参数array被忽视了,但index没有被忽略
// 所以解析过程是
/**
* parseInt(string, radix) 将一个字符串 string 转换为 radix 进制的整数, radix 为介于2-36之间的数。
* 格式为: parseInt(string,radix) -> map(parseInt(value,index))
* step 0: parseInt("1",0) // 1 <= //radix为0时,且string参数不以“0x”和“0”开头时,按照10为基数处理。这个时候返回1
* step 1: parseInt("2",1) // NaN
* step 2: parseInt("3",2) // NaN
*/ const newIntArrayWithNumber = ["1.2", "2.3", "3.4"].map(num => parseInt(num, 10))
console.info(newIntArrayWithNumber) // [ 1, 2, 3 ]

最新文章

  1. android之Handler机制
  2. Analysis Services OLAP 概述2
  3. memcpy的用法及实现
  4. 【Android Studio使用教程5】使用SDK Manager时, SDK下载更新不了的解决方案(eclipse 也适用)
  5. 分享一个圆角自定义的漂亮AlertDialog
  6. objective-c 加号 减号 - +
  7. Cannot instantiate the type List&amp;lt;Integer&amp;gt;
  8. Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表
  9. php7.0版本不再以类名命名构造函数
  10. Java程序设计——学生基本信息管理系统(团队+个人)
  11. CSS3标准盒模型还是IE怪异模型box-sizing属性的应用设置
  12. PAT乙级题:1003我要通过!
  13. PHP实现JS点击点击定位
  14. [ASP.NET]ScriptManager控件使用
  15. 49.CSS--- 特殊css3效果展示
  16. Spring Cloud Eureka 服务治理
  17. java基本数据间转换
  18. tree的使用,显示行号,find命令应用
  19. 使用jquery将表单元素转json提交后台
  20. git如何自动打补丁

热门文章

  1. javascript : 点击按钮,把某标签中的内容复制到剪贴板
  2. Shell基本语法---处理海量数据的cut命令
  3. maven项目原型(idea)
  4. springboot(三)SpringDataJPA完成CRUD
  5. Python3网络爬虫开发实战PDF高清完整版免费下载|百度云盘
  6. 如何利用Gitlab-ci持续部署到远程机器?
  7. springboot 基于JS-SDK实现微信分享(一)
  8. isinstance方法判断可迭代和迭代器
  9. PHP 类型比较
  10. Python File flush() 方法