scala教程:实现reduce()函数

介绍

在 支持函数式的语言中(如:scala、python、js),一般有 reduce()函数,或类似功能的函数

作用:

reduce() 函数会对集合中元素进行处理

  1. 将集合中的 第 1、2 个元素传给 lambda表达式,计算后得出结果
  2. 再将该结果与第3个元素 传给 lambda表达式,计算后得出结果
  3. 以此类推,最后得到结果

参数:

  • 其中一个参数是集合
  • 另一个参数是 lambda表达式,将集合中的 第 1、2 个元素传给 lambda表达式,计算后返回结果,
    再将该结果与第3个元素 传给 lambda表达式,计算后返回结果,
    以此类推,最后得到一个结果

应用场景

在 大数据、人工智能中经常使用,对数据做处理

实现

def main(args: Array[String]): Unit = {
  def reduce(arr: Array[Int], op: (Int, Int) => Int) = {
    var res: Int = arr(0)
    for (elem <- 1 until arr.length) {
      res = op(res, arr(elem))
    }
    res
  }

  val res = reduce(Array(1, 2, 3, 400), _ + _)
  println(res)
}

执行流程:


原文出处:/show_1IX1BjnEFZFm.html