reduce用法

reduce用法reduce 用法

reduce用法

  1. List item
基本语法 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 
function(total,currentValue, index,arr) total: 必需。初始值, 或者计算结束后的返回值。 currentValue: 必需。当前元素 currentIndex: 可选。当前元素的索引 arr: 可选。当前元素所属的数组对象 一般最常用的是前两个数. 

使用场景

  1. 简单使用,数组求和
const arr = [1, 2, 3, 4, 5] const sum = arr.reduce((pre, item) => { 
    //pre为上一次回调函数返回值 //item为当前值 return pre + item; }, 0); console.log(sum) //15 
  1. 数组最大值
const arr = [23,13,34,126]; const max = arr.reduce((pre,cur) => { 
    return Math.max(prev,cur); }); // 126 

3.计算字符串中每个字母的出现次数

const str = 'orangeapple'; const obj = str.split('').reduce((pre,item) => { 
    pre[item] ? pre[item] ++ : pre[item] = 1; return pre; },{ 
   }); //初始值为{}, 判断对象中是否存在当前元素的属性,不存在就新增且设置值为1 console.log(obj) //{o: 1, r: 1, a: 2, n: 1, g: 1, …} 
  1. 数组去重
const oriArr = [1, 2, 2, 4, 5, 5]; const arr = oriArr.reduce((prev, cur) => { 
    return prev.includes(cur) ? prev : prev.concat(cur); }, []); 或者: const arr = oriArr.reduce((prev, cur) => { 
    prev.indexOf(cur) === -1 && prev.push(cur); return prev; },[]); console.log(arr); //[1, 2, 4, 5] 
  1. 数组降维
const oriArr = [[1,2],[3,4],[5,6]]; const arr = oriArr.reduce((prev, cur) => prev.concat(cur),[]); console.log(arr); //[1, 2, 3, 4, 5, 6] 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201197.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午9:52
下一篇 2026年3月20日 上午9:52


相关推荐

  • Apache开源软件镜像站

    Apache开源软件镜像站

    2026年3月15日
    2
  • 很挫的 SHFileOperation 用法 2011-07-18 11:42「建议收藏」

    很挫的 SHFileOperation 用法 2011-07-18 11:42「建议收藏」今天编写一个局域网文件拷贝的demo。其中有一个SHFileOperation的用法,这个函数有个参数SHFILEOPSTRUCT。查看msdn有如下解释:pFromAddressofa

    2022年7月1日
    24
  • OpenClaw Skill 开发指南

    OpenClaw Skill 开发指南

    2026年3月13日
    3
  • BCNF范式的判断和分解

    BCNF范式的判断和分解首先 怎么判断一个关系是不是 BCNF 范式 简单来说 对于一个关系 R 每个函数依赖 X Y 的左侧都包含关系 R 的码 也就是说每个函数依赖的左侧都是关系 R 的一个超码 那么这个关系 R 是 BCNF 范式的 另一种判断方式是 对每个函数依赖 X Y 的左侧求闭包 如果对于每一个函数依赖 左侧的闭包都包含关系 R 中的所有属性 那么这个关系 R 是 BCNF 范式的 反之 用以上方法判断时 如果出现函数依赖不满足以上条件 那么就存在违背 BCNF 范式的情况 这个关系 R 就不是 BCNF 范式的 现在 我们有一个关系 R 和它一个函

    2026年2月11日
    4
  • 华为转移到ios传输中断_社保不转移 重新开户

    华为转移到ios传输中断_社保不转移 重新开户iPhone备份麻烦,大家都知道!到底有多麻烦呢?以小编的经验,大概是折腾一晚上都不一定能顺利完成吧。。。iPhone自带的备份工具iCloud,在有WiFi的情况下可以自动备份,但其不大的免费空间对于大家来说显然不够,需要花高价扩容。另外,如果备份的数据比较多,就会拉慢备份速度,严重影响手机的正常使用。而且,iCloud不够稳定,所以使用过程中很有可能造成数据的丢失!简直不能再糟糕!有…

    2026年1月14日
    5
  • 冒泡排序深入具体解释

    冒泡排序深入具体解释

    2022年1月26日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号