JavaScript Array reduce() 方法

  • JavaScript Array reduce()方法

    reduce()方法降低了数组的单个值。reduce()方法为数组的每个值(从左到右)执行提供的函数。函数的返回值存储在累加器(结果/总计)中。
    注意reduce()不会为没有值的数组元素执行函数。
    实例:
    获取数组中数字的总和:
    var numbers = [65, 44, 12, 4];
    
    function getSum(total, num) {
      return total + num;
    }
    
    function myFunction(item) {
      document.getElementById("demo").innerHTML = numbers.reduce(getSum);
    }
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    方法
    reduce()
    9.0+
    支持
    3.0+
    4.0+
    10.5+
  • 语法

    array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
  • 参数值

    参数 描述
    function(total,currentValue, index,arr) 必需的。要为数组中的每个元素运行的函数。函数参数:
    • total - 必需的。 initialValue或先前返回的函数值
    • currentValue - 必需的。 当前元素的值
    • currentIndex - 可选的。 当前元素的数组索引
    • arr - 可选的。 当前元素所属的数组对象
    initialValue 可选的。 要作为初始值传递给函数的值
  • 技术细节

    项目 描述
    返回值: 返回上次调用回调函数的累计结果
    JavaScript版本: ECMAScript 5
  • 更多例子

    舍入数组中的所有数字,并显示总和:
    var numbers = [15.5, 2.3, 1.1, 4.7];
    
    function getSum(total, num) {
      return total + Math.round(num);
    }
    
    function myFunction(item) {
      document.getElementById("demo").innerHTML = numbers.reduce(getSum, 0);
    }
    尝试一下