一个案例学会JavaScript中的reduce函数如何使用!

查找元素位置 经典例题

输入:['a','b','c','d','e','f','a','b','c'] 'a'

输出:[0, 6] // ‘a’ 所在的索引位置


function findAllOccurrences(arr, target) {
    return arr.reduce((r, o, i) => {
        if (o === target) {
            r.push(i);
        }
        return r;
    }, [])
}

reduce() 方法中的 (r, o, i) 是一个回调函数,它接收三个参数:

  • r:累加器(初始值为空数组 [])
  • o:当前元素(数组中的当前元素)
  • i:当前元素的索引

回调函数的作用是检查当前元素是否与目标元素相等,如果相等,则将当前元素的索引添加到累加器中,然后将累加器返回,以便在下一次迭代中继续使用。

最终,reduce() 方法将返回一个包含所有目标元素出现位置的数组。

所以最终返回的 r 为 [0,6],  因为 当o==='a' 时,索引为i,r.push(i).

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值