reduce用法
定义: reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
语法:
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
参数
参数 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
function(total,currentValue, index,arr) | 必需。用于执行每个数组元素的函数。 函数参数:
| ||||||||||
initialValue | 可选。传递给函数的初始值 |
ES6,之前繁杂的写法;
例;我们想遍历数组中的元素做拼接或者累加操作
<script>
var numbers = [1, 2, 3, 4, 5, 6];
function Sum(total, num) {
return total + num;
}
function myFunction(item) {
document.getelementbyid("demo").innerHTML = numbers.reduce(Sum);
}
</script>
<button οnclick="myFunction()">add</button>
<p id="demo"></p>
ES6 执行同样操作写法,可以大大减少我们的代码量,以及提高代码的可阅读性
/*
参数1.prev 上一次返回的值,
参数2.item 本次的值,
参数3.最后一个参数(prev初始值),涉及到一个对象类型,例如如果原数组里面存的是数字,最后一个参数传空数组[]的时候,
默认数据是字符串拼接,这时候返回值也就是123456
如果我们想做到里面的数组迭代相加,那我们在最后的参数传一个数字类型的参数,例如我们传0,这时候就按照数字相加,
这里还需要注意的就是传的时候不能加" "如果加了引号还认为是字符串的拼接
*/
let sum = [1, 2, 3, 4, 5, 6].reduce((prev, item) => { return prev + item }, 1);
这里需要注意的是最后一个参数,initialValue,类型的选择如文中红色标注的传入相应类型就会暗转相应类型的数据去进行操作。
相关阅读
减少运动媒体查询prefers-reduced-motion
简化运动的简史 在2013年iOS 7对操作系统的视觉效果进行了重新设计,更改包括半透明和模糊,更简化的“平面”用户界面,以及诸如全屏缩
Definition Counter Counter是hadoop mapreduce framework所提供的一个工具,用来追踪mapreduce job的进度。Counter表示全局的计数
页面效果(一共是Todos和Number两个不相干的组件):redux配置文件和组件结构:相当于是在前一篇中的结构,将store.js和抽离了出来,并且将两
目录 1 MapReduce原理 1.1 为什么要MapReduce 1.2 MapReduce框架结构及核心运行机制 1.2.1 结构 1.2.2 MR程序运行流程 1.3 MapT
前言 上一篇我们分析了一个MapReduce在执行中的一些细节问题,这一篇分享的是MapReduce并行处理的基本过程和原理。 M