js 内建函数reduce

今天发现js的一个内建函数reduce,还是挺有意思的,写一下我认为比较有意思的部分

1.  reduce经常用于数组的叠加, 他会接受两个参数,第一个是毁掉函数callback(),第二个是起始值(非必须)

1》不传第二个参数

var items=[1,4,5,7,89];
           items.reduce((a,b)=>a+b)   // 106

2》传第二个参数的时候

var items=[1,4,5,7,89];
         items.reduce((a,b)=>a+b,100)   //206

(纯数字的情况下也可是做任何可用于数字的操作  加减乘除各种)

2.如果数组含有字符串的话,也可以进行字符串的拼接,这个时候注意回调函数字符串拼接的时候是  "+"

var items=[‘1‘,‘4‘,‘4‘,‘ee‘,‘dsd‘];
    items.reduce(function(a,b){return a+b})  //"144eedsd"

时间: 2024-12-13 11:29:29

js 内建函数reduce的相关文章

Python内建函数reduce()用法

reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,下面讲述Python内建函数reduce()用法. def add(x, y): return x + y reduce(add, [1, 3, 5, 7, 9]) 输出结果 25 reduce也就累计相加,求出所有数据的总和 文章来自 http://www.96net.com.cn 原文地址:https://www.cnblogs.com/96ne

浅谈JS中 reduce() 的用法

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

JS的内建函数reduce

reduce函数,是ECMAScript5规范中出现的数组方法.在平时的工作中,相信大家使用的场景并不多,一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实现,虽然不清楚浏览器的js引擎是如何在C++层面实现这两个方法,但是可以肯定的是reduce方法肯定也存在数组的遍历,在具体实现细节上是否针对数组项的操作和存储做了什么优化,则不得而知. 数组的reduce方法的应用 reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作:第二个参数

js map, reduce, forEach, filter的一般实现

map(映射), reduce(规约), forEach(遍历), filter(过滤),它们都是高阶函数,都是以传入不同的函数来以不同的方式操作数组元. 1> map function map(array, func) { var res = []; for (var i = 0, len = array.length; i < len; i++) { res.push(func(array[i])); } return res; } var res = map([1, 2, 3], fun

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()方法详解及高级技巧

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

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()方法详解及高级技巧

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

js的reduce方法

reduce()方法接受一个函数进行累加计算(reduce()对于空数组是不会执行回调函数的) 使用语法: array.reduce(function(total, currentValue, currentIndex, arr), initialValue) total:初始值,或者计算结束后返回的返回值(必需) currentValue:当前元素(必需) currentIndex:当前元素的索引 arr:当前元素所属的数组对象 假如在reduce的回调函数里面没有返回值时 var arr =