美文网首页
高阶函数(二)map

高阶函数(二)map

作者: 前端小飞象 | 来源:发表于2021-05-26 14:22 被阅读0次

数组中的Array.prototype.map()和Array.prototype.forEach()方法作用相同,但是也是存在一些区别的。

区别

forEach()方法不会有返回值,而是修改原数组,而map()会返回一个新的数组。

执行速度上比较,谁更快呢

forEach()比map()快

jsPerf 是一个在线的代码片段性能测试工具,可以对某些代码片段进行性能测试,会自动输出对比的结果。

在线地址:http://jsperf.com/

使用上,可以按需选择

  1. 两个方法都可以相互做到同样的功能,如果喜欢函数式编程的话,使用map()可以和其他api相结合,效果更好。
let arr = [1, 2, 3, 4, 5];
let arr2 = arr.map(num => num * 2).filter(num => num > 5);
// arr2 = [6, 8, 10]

以上是遍历每个值并且乘以2后,过滤筛选大于5值,返回给 arr2

  1. 转换数组中的类型
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']

相关文章

网友评论

      本文标题:高阶函数(二)map

      本文链接:https://www.haomeiwen.com/subject/dvqndltx.html