map 和forEach用法(添加parseInt的小尾巴)

forEach:

语法:
array.forEach(function(currentValue, index, arr), thisValue)
其中:index可选;arr可选;thisValue可选

map

var new_array = arr.map(callback[, thisArg]) 
callback 同样三个参数currentValue, index, arr;

map:和forEach非常相似,都是用来遍历数组中的每一项;
区别:map的回调函数中支持return返回值;return的是啥,相当于把数组中的这一项变为啥(并不影响原来的数组,只是相当于把原数组克隆一份,把克隆的这一份的数组中的对应项改变了);
forEach不支持return

var arr = [1, 2, 3];

console.log(
    arr.map(function(i){
        return i+i;
    })
    //链式风格
    .sort()
);// [2,4,6]

console.log(
    arr.forEach(function(i){
        return i+i;
    })
    //接不起来,断了
    .sort()
);//TypeError: Cannot read property 'sort' of undefined

不管是forEach还是map 都支持第二个参数值,第二个参数的意思是把匿名回调函数中的this进行修改。

map 和 foreach的总结

1、map速度比foreach快
2、map会返回一个新数组,不对原数组产生影响,foreach不会产生新数组,
3、map因为返回数组所以可以链式操作,foreach不能

["1", "2", "3"].map(parseInt);  //结果  [1, NaN, NaN]   
原因:
parseInt接收俩参数parseInt(string, radix);
map 最多传递 3 个参数 (element, index, array)」
["1", "2", "3"].map(parseInt)等价于:
[parseInt('1',0),parseInt('2',1),parseInt('3',2)]

parseInt要点:

parseInt方法还可以接受第二个参数(2到36之间),
默认情况下,parseInt的第二个参数为10,
如果第二个参数是0、undefined和null,则直接忽略。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原生JS forEach()和map()遍历的区别以及兼容写法 一、原生JS forEach() 和map()**...
    兰夏天阅读 648评论 0 1
  • 1. 验证正则表达式中的全局g对几种方法的影响 test校验方法:正则的方法总结:1)不添加全局g时,lastIn...
    果木山阅读 376评论 0 0
  • JS基础 页面由三部分组成:html:超文本标记语言,负责页面结构css:层叠样式表,负责页面样式js:轻量级的脚...
    小贤笔记阅读 679评论 0 5
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,691评论 0 4
  • 丽江,一个充满色彩的城市 丽江,一个蕴含故事的城市 丽江,一个善解人意的城市 丽江,一个让人停下来享受美丽的城市 ...
    十年孤山阅读 666评论 0 0

友情链接更多精彩内容