zoukankan      html  css  js  c++  java
  • 数组(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}
  • 相关阅读:
    和阿文一起学H5-文字云制作
    uml与数据库设计
    设计模式——面向对象设计原则
    koajs框架解决的问题
    mongodb
    javascript 获取select选中text,2种方法
    带参数跳转
    express表单提交和参数接收4种方式
    ejs模版的4种输出方式
    nodejs事件
  • 原文地址:https://www.cnblogs.com/jing5990/p/12394548.html
Copyright © 2011-2022 走看看