JavaScript的reduce用法

reduce()方法的使用

 1.参数

var newArray = arr.reduce(callback(accumulator, currentValue[, index[, array]])[,initialValue])
/*
   1. accumulator
    累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue
   2.currentValue
    数组中正在处理的元素。
   3. index 可选
    数组中正在处理的当前元素的索引。 如果提供了initialValue,则起始索引号为0,否则从索引1起始。
   4.array可选
    调用reduce()的数组
*/
//initialValue(可选) 为accumulator的初始值

2.返回值

返回处理之后的结果

3.案例

案例1

        var arr = [1, 2, 3, 4, 5];
        var arr1 = arr.reduce(function(acc, curr, idx, arr) { //有四个参数acc累计器的回调值
                return acc + idx; //初识值 3累加元素下标
            }, 3) //3为acc的初始值
        console.log(arr1);//结果为13

案例2

 var str = 'jfkldsajgklasjkhlgjefaklhjaerkl';
        var arr = str.split('');
        var arr1 = arr.reduce(function(acc, curr) {
            if (acc[curr]) { //判断原来是否存在acc[curr],存在则数值加一 不存在则创建对应的 acc[curr]
                acc[curr]++;
            } else {
                acc[curr] = 1;
            }
            return acc;
        }, {})
        console.log(arr1);

打印结果:

 

注: 初次学习,所用案例都为课上所学,可能有错,如有错请大家指正,内容仅供参考

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值