reduce() 方法

本文深入解析JavaScript中的reduce()方法,通过实例展示如何使用它进行数组求和与去重操作。reduce()作为高阶函数,能够对数组元素进行累积计算,对于空数组则不执行回调。在案例中,我们首先利用reduce()计算数组元素之和,然后展示了如何利用reduce()配合条件判断实现数组去重,输出去重后的数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。
在这里插入图片描述
实用案例

let arr = [1,2,11,22];

一、求数组之和

let result = arr.reduce((prev, cur) => {
    return prev + cur
}, 0)
console.log(result)

由于传入了初始值0,所以开始时prev的值为0,cur的值为数组第一项3,相加之后返回值为3作为下一轮回调的prev值,然后再继续与下一个数组项相加,以此类推,直至完成所有数组项的和并返回。

二、数组去重

let result = arr.reduce(function (prev, cur) {
    prev.indexOf(cur) === -1 && prev.push(cur);
    return prev;
},[]);
console.log(result)

实现原理:
初始化一个空数组,查找原数组中的每一项,如果初始化数组中没有这一项,将该元素追加的当前数组中…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值