js的reduce方法

reduce()方法接受一个函数进行累加计算(reduce()对于空数组是不会执行回调函数的)

使用语法:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

total:初始值,或者计算结束后返回的返回值(必需)

currentValue:当前元素(必需)

currentIndex:当前元素的索引

arr:当前元素所属的数组对象

假如在reduce的回调函数里面没有返回值时

var arr = [5,6,7,8,9]
arr.reduce(function(total, currentValue, currentIndex, arr){
  console.log(‘reduce:‘, total, currentValue, currentIndex, arr)
})

打印出来的结果如下

reduce: 5 6 1 [ 5, 6, 7, 8, 9 ]
reduce: undefined 7 2 [ 5, 6, 7, 8, 9 ]
reduce: undefined 8 3 [ 5, 6, 7, 8, 9 ]
reduce: undefined 9 4 [ 5, 6, 7, 8, 9 ]

由此分析:

当reduce循环时,total的初始值是数组第一位的值,由于没有return的值,所以后面都是undefined,

原文地址:https://www.cnblogs.com/wangxirui/p/11993977.html

时间: 2024-10-31 20:09:28

js的reduce方法的相关文章

JS数组reduce()方法详解及高级技巧

1.语法 arr.reduce(callback,[initialValue]) reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组. callback (执行数组中每个值的函数,包含四个参数) 1.previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue)) 2.currentValue (数组中当前被处理的元素)

JS 数组reduce()方法详解及高级技巧

1.语法 arr.reduce(callback,[initialValue]) reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组. callback (执行数组中每个值的函数,包含四个参数) 1.previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue)) 2.currentValue (数组中当前被处理的元素)

js的reduce方法,改变头等函数

头等函数:把编程变成了类似搭积木的方式编码,可以使用很少的代码,实现强大的功能函数. eg: getTotal:数组的求和运算. var myArray = [1,2,3,4]; var add = function(a,b){ return a + b; } var getTotal = function(arr){ retuurn arr.reduce(add); } getTotal(myArray);====>10 把add函数作为参数,传递给reduce函数,可以组成更加好用的复合函数

JS数组reduce()方法

arr.reduce(function(prev,cur,index,arr){...}, init); 或者 arr.reduce(function(prev,cur,index,arr){...},); arr 表示将要原数组: prev 表示上一次调用回调时的返回值,或者初始值 init; cur 表示当前正在处理的数组元素: index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1: init 表示初始值. 常用的参数只有两个:prev 和 cur.

js数组中reduce方法

reduce() 方法 相当于一个函数累加器,接受一个回调函数的结果,然后将前一次的函数结果再和下一次的数据再次执行此回调函数. reduce(function(previousValue,currentValue,index,array){ return xxx  //需要执行的函数结果, previousValue---------上一次的值- currentValue---------当前值 index------当前值的索引 array-------数组 }): [1,2,3,4,5].

浅谈JS中 reduce() 的用法

过去有很长一段时间,我一直很难理解 reduce() 这个方法的具体用法,平时也很少用到它.事实上,如果你能真正了解它的话,其实在很多地方我们都可以用得上,那么今天我们就来简单聊聊JS中 reduce() 的用法. 一.语法 arr.reduce(function(prev,cur,index,arr){ ... }, init); 其中, arr 表示原数组: prev 表示上一次调用回调时的返回值,或者初始值 init; cur 表示当前正在处理的数组元素: index 表示当前正在处理的数

JQuery 加载 CSS、JS 文件的方法有哪些?

在进行web前端开发(http://www.maiziedu.com/course/web-px/)时,我们可能会需要使用JQuery加载一个外部的css文件或者js文件,加载外部文件的方法有多种,下面具体看看各种加载方法 JS 方式加载 CSS.JS 文件: //加载 css 文件function includeCss(filename) { var head = document.getElementsByTagName('head')[0]; var link = document.cre

js 变量提升+方法提升

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> var a = 100; function t() { alert(a); var a = 10; } t(); //输出结果为undefine

es 5 数组reduce方法记忆

reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始合并,最终为一个值. 概念:对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供. 语法: array1.reduce(callbackfn[, initialValue]) 参数: 参数 定义 array1 必需.一个数组对象. callbackfn 必需.一个接受最多四个参数的函数.对于数组中的每个元素,reduce 方法都会调