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}
  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/jing5990/p/12394548.html
Copyright © 2011-2022 走看看