JS数组方法reduce的用法实例分析


Posted in Javascript onMarch 03, 2020

本文实例讲述了JS数组方法reduce的用法。分享给大家供大家参考,具体如下:

数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。

使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。

reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。

使用 reduce 方法来让 array 中的所有值相加

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>reduce的使用</title>
</head>
<body>
<script>
var arr = [1, 2, 3, 4, 5];
sum = arr.reduce(function(prev, cur, index, arr) {
   //输出的是第一项的值或上一次叠加的结果,正在被处理的元素,正在被处理的元素的索引值
   console.log(prev, cur, index); 
   return prev + cur;
})
console.log(arr, sum); //输入数组本身和最后的结果
</script>
</body>
</html>

控制台输出:

JS数组方法reduce的用法实例分析 

var numbers = [15.5, 2.3, 1.1, 4.7];
 
function getSum(total, num) {
  return total + Math.round(num);
}
function myFunction(item) {
  console.log(numbers.reduce(getSum, 0));//0 传递给函数的初始值
}
myFunction()//输出24

JS数组方法reduce的用法实例分析

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
一组JS创建和操作表格的函数集合
May 07 Javascript
javascript hashtable实现代码
Oct 13 Javascript
js中判断控件是否存在
Aug 25 Javascript
理解Javascript闭包
Nov 01 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
May 05 Javascript
五种js判断是否为整数类型方式
Dec 03 Javascript
JS实现倒计时(天数、时、分、秒)
Nov 16 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
Jul 15 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
Seajs源码详解分析
Apr 02 Javascript
使用JS实现简易计算器
Jun 14 Javascript
Javascript模拟实现new原理解析
Mar 03 #Javascript
JS面向对象编程——ES6 中class的继承用法详解
Mar 03 #Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 #Javascript
序列化模块json代码实例详解
Mar 03 #Javascript
JS常用排序方法实例代码解析
Mar 03 #Javascript
JS面向对象编程实现的Tab选项卡案例详解
Mar 03 #Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 #Javascript
You might like
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
网页javascript精华代码集
2007/01/24 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
JavaScript的事件代理和委托实例分析
2015/03/25 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python使用asyncio包处理并发详解
2017/09/09 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
python实现键盘输入的实操方法
2019/07/16 Python
解决Django连接db遇到的问题
2019/08/29 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
Java如何获得ResultSet的总行数
2016/09/03 面试题
思想品德课教学反思
2014/02/10 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
护士先进个人总结
2015/02/13 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
Python实现socket库网络通信套接字
2021/06/04 Python
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android
Flink 侧流输出源码示例解析
2022/09/23 Servers