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://www.cnblogs.com/applesky/p/14687077.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值