JS Array.reduce()方法参数详解,实例在线编辑

reduce()方法

JavaScript内置的数组Array方法reduce()可以将传递的回调函数逐个作用于调用对象数组中的每一个元素,并返回单个值。有点类似于通过for循环遍历数组,并求数组元素的总和的原理,即将初始值设为0,然后与第一个元素相加,所得之和再与第二个元素相加,以此类推,直到遍历整个数组的元素,求出数组的元素总和。注意:reduce()返回的单个值不一定是和,也可以是其它的运算得到的值,需依回调函数的算法而定。


reduce()语法及回调函数参数结构

arr.reduce( myFunc, initialValue)

其中回调函数myFunc的语法及参数结构如下:

myFunc( total, value, index, array )

reduce()参数结构解析表

参数描述
total必须参数,为初始值,也是reduce()方法调用后的返回值。
value也是必须参数,为调用对象数组的当前元素值
index可选,调用对象数组当前元素的索引
array可选,调用对象数组本身
initialValue可选,指定传递给回调函数的初始值

reduce()实例代码,及在线编辑器

<script>
  var arr1 = [1,3,5]
  function myFunc(total, value, index, array){
    return total + value
  }
  var total1 = arr1.reduce(myFunc)
  alert(total1 + ' 类型为:'+typeof(total1))
  var total2 = arr1.reduce(myFunc, 6)
  alert(total2)
  alert(arr1) //reduce()方法并没有修改原数组的值
</script>

实例代码解析

如上代码,数组arr1第一次调用reduce()方法时,只传递了一个回调函数,返回值为return total+value,在该实例的代码当中可求数组之和,得到的是9;第二次调用reduce()方法时,多传递了一个指定回调函数total初始值的参数。



全栈前端 / JavaScript语法 :





















Copyright © 2022-2024 笨鸟工具 x1y1z1.com All Rights Reserved.