我的github
posts - 3254,  comments - 42,  views - 158万

mapreduce在JavaScript中都是用于处理数组的方法,但它们的主要区别在于用途和返回值。‌

用途

  • ‌map()‌:主要用于对数组的每个元素应用一个函数,并返回一个新数组,这个新数组包含原数组每个元素调用函数处理后的结果。‌map()不会改变原数组‌,返回的新数组长度与原数组相同‌12。
  • ‌reduce()‌:用于通过迭代将数组中的元素累积到一个单一的值。‌reduce()会改变初始值,但不会改变原始数组‌,返回的是一个单一的值‌23。

返回值

  • ‌map()‌:返回一个新数组,这个数组包含了原数组每个元素经过处理后的结果。新数组的长度与原数组相同‌12。
  • ‌reduce()‌:返回一个单一的值,这个值是所有元素经过迭代处理后的累积结果‌23。

示例

  • ‌map()‌:假设有一个数组 [1, 2, 3, 4, 5],使用 map() 将每个元素乘以 2:
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(num => num * 2);
console.log(doubledNumbers); // 输出: [2, 4, 6, 8, 10]
  • ‌reduce()‌:假设有一个数组 [1, 2, 3, 4, 5],使用 reduce() 求和:
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue);
console.log(sum); // 输出: 15

应用场景

  • ‌map()‌:适用于需要对数组中的每个元素进行转换或计算,并生成一个新的数组的情况。例如,将数组中的每个元素平方、翻倍等。
  • ‌reduce()‌:适用于需要将数组中的元素累积到一个单一值的情况。例如,计算数组的总和、平均值、最大值等。

通过这些区别和示例,可以更好地理解在什么情况下使用 map() 和 reduce() 方法。

参考:百度AI

posted on   XiaoNiuFeiTian  阅读(92)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-11-22 CSS让DIV层叠 两个DIV或多个DIV顺序重叠加
2021-11-22 vant-ui:
2021-11-22 Cesium剖面分析
2021-11-22 Vue中的this表示?
2021-11-22 cesium之measure功能实现
2021-11-22 Cesium渲染效果差,锯齿明显,解决办法
2021-11-22 ES6之import/export命令
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示