• 数组(Array)的常用方法(reduce)


    reduce

    数组通过此方法,可以实现将每一项叠加称为一项。

    使用:sum = arr.reduce(fun, start);

    其中,fun为一个方法,接收四个参数,分别为

      pre:初始值或者上一次叠加(计算)结果值

      cur:当前项的值

      index:当前项的index

      arr:原数组

    其中,start为叠加计算定义类型,并且为初始值,此值可以根据实际情况设置为任意值(看例子2)。

    最终返回结果(sum)。

    例子1:

    const arr = [5, 10, 15];
    console.log('start'); const sum = arr.reduce((pre, cur, index, arr)=>{
      console.log(pre, cur, index); return pre + cur; }, 0);
    console.log('end');
    console.log('sum:', sum);

    // 打印结果分别为:
      start
      5, 10, 1
      15, 15, 2
      end
      sum: 30

    例子2:

    const arr = [
        {
            name: 'zs',
            score: 88
        }, 
        {
            name: 'ls',
            score: 90
        },
        {
            name: 'ww',
            score: 80
        }
    ];
    const sum = arr.reduce((pre, cur) =>{
        return pre + cur.score;
    }, 0);
    console.log('sum: ', sum);
    // sum: 258


    // 初始值可设置成任意值
    const sum1 = arr.reduce((pre, cur)=>{
      return pre + cur.score;
    }, -10);
    console.log('sum1: ', sum1);
    // sum1: 248


    // 初始值可设置为任意类型
    const re = arr.reduce((pre, cur)=>{
      pre[cur.name] = cur.score;
      return pre;
    }, {});
    console.log('re: ', re);
    //re: {zs: 88, ls: 90, ww: 80}
  • 相关阅读:
    8.14-T1村通网(pupil)
    8.10-Day2T3 镇守府
    8.10-Day2T2 吃喝大法好
    8.10-Day2T1最小值
    8.10-DayT3游走(wander)
    8.10-Day1T2圈(circle)
    8.10-Day1T1-数字(number)
    bzoj2462: [BeiJing2011]矩阵模板
    8.7-Day1T1
    k8s高可用部署后续:SLB
  • 原文地址:https://www.cnblogs.com/jing5990/p/12394548.html
Copyright © 2020-2023  润新知