zoukankan      html  css  js  c++  java
  • 数组Reduce的应用

    数组Reduce的应用

    参考

    简单应用

    var arr = [1,2,3,4,5]
    
    var sum = arr.reduce(function (prev, cur, index, arr) {
      console.log(prev, cur, index)
      return prev + cur
    })
    
    console.log(sum)
    

    第一层

    for

    var result = [
      {
          subject: 'math',
          score: 88
      },
      {
          subject: 'chinese',
          score: 95
      },
      {
          subject: 'english',
          score: 80
      }
    ];
    
    var sum = 0
    for (var i =0; i< result.length; i++) {
      sum += result[i].score
    }
    console.log(sum)
    

    reduce

    var sum = result.reduce((pre, cur, index, arr) => {
      // if (typeof pre === 'object') { // 如果没有默认值, 需要设置这个判断 , 来排除第一项
      //   pre = pre.score
      // }
      return cur.score + pre
    } ,0)
    console.log(sum)
    

    加个权重

    var dis = {
      math: 0.5,
      chinese: 0.3,
      english: 0.2
    }
    
    var sum = 0
    // for (var i =0; i< result.length; i++) {
    //   sum += result[i].score
    // }
    
    var sum = result.reduce((pre, cur, index, arr) => {
      // if (typeof pre === 'object') { // 如果没有默认值, 需要设置这个判断 , 来排除第一项
      //   pre = pre.score
      // }
      return cur.score * dis[cur.subject] + pre
    } ,0)
    console.log(sum)
    

    一串字符串中字母出现的次数

    var arrString = 'aaabbsssbdd'
    
    var res = arrString.split('').reduce(function (res, cur, index, arr) {
      res[cur] ? ++res[cur] : res[cur] = 1
      return res
    }, {})
    
    console.log(res)
    
  • 相关阅读:
    shell
    梯度,也即该物理参数的变化率,导数
    一些石油类核心期刊
    泰勒展开
    向量范数
    添加打印机
    泛函
    9.3.4 BeaufitulSoup4
    9.3.3 scrapy 框架
    9.3.2 网页爬虫
  • 原文地址:https://www.cnblogs.com/zhangrunhao/p/9202812.html
Copyright © 2011-2022 走看看