数组reduce()方法
Array的reduce()把一个函数作用在这个Array的[x1, x2, x3...]上,这个函数必须接收两个参数,reduce()把结果继续和序列的下一个元素做累积计算
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4) 复制代码
reduce(f,initNum)包含两个参数
- 第一个参数f:执行化简参数的函数,f(x,y)也包含两个参数
- 第一个参数是f执行的返回值
- 第二个参数是数组元素值
- 第二个参数initNum(可选):传递给函数f的初始值,
- 若存在该参数,那么第一次调用函数时,x就是initNum
- 若不存在该参数,使用数组第一个元素作为初始值
1.求和
var arr = [1, 3, 5, 7, 9];
arr.reduce(function (x, y) {return x + y;
}); // 25
复制代码
2.求积
var arr = [1, 2, 3, 4];
arr.reduce(function(x, y) {return x * y;
}); //24
复制代码
3.不使用parseInt() 将'12345' 转换成 数字12345
let s = '12345';
s.split('').map(x => {//['1','2','3','4','5']return x.charCodeAt(0) - 48;//[1,2,3,4,5]
}).reduce((x,y) => {return x * 10 + y; //12345
})
复制代码
redecuRight()工作原理同reduce(),不同的是它按照数组索引从高到低(即从右到左)的顺序传值。
转载于:https://juejin.im/post/5c3f01caf265da614933e205
数组reduce()方法相关推荐
- JS进阶篇--JS数组reduce()方法详解及高级技巧
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...
- JS进阶篇--JS数组reduce()方法详解及高级技巧 1
基本概念 reduce() 方法接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值. reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被 ...
- 比较完善的手写数组reduce方法
手写数组reduce方法 看过其他的文章, 感觉他们实现的reduce方法不够完善, 分享一下自己写的比较完善的reduce方法, 如果错误的地方, 请留言给我 Array.prototype.new ...
- 二维数组各行求和_JS数组reduce()方法详解及高级技巧
reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但 ...
- 数组reduce方法详解
目录 前言 reduce方法 案例 数组求和 数组扁平化 数组去重 数组对象去重 前言 很多前端开发中都知道数组的reduce方法可以用来给数组求和,但是你问到里面的具体参数代表的时候什么,很多人却不 ...
- ES6中的数组reduce()方法详解
目录 1. 语法reduce说明 2. 一些用途 3. 极力避免的情况 reduce() 方法对数组中的每个元素执行一个由我们提供的reducer函数(升序执行),将其结果汇总为单个返回值. 1. 语 ...
- js 数组 reduce() 方法
概念 reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值. MDN:https://developer.mozilla.org/zh-C ...
- JS数组reduce()方法
基本用法 arr.reduce(function(prev,cur,index,arr){ ... }, init);或者arr.reduce(function(prev,cur,index,arr) ...
- 数组的 reduce方法
数组的 reduce方法 reduce() 方法对数组中的每个元素按序执行一个由你提供的 reducer 函数,每次运行都会 将先前元素的计算结果作为参数传入,最后将其结果 汇总为单个返回值. 当第一 ...
- JS中数组迭代方法(JavaScript从入门到疯癫)
数组迭代的方法包含了以下七个( map,filter,forEach,some,every, findIndex,reduce) 目录 1.map 2.filter 3.foreach 4.数组som ...
最新文章
- 事件源event.target
- vue组件的基本使用,以及组件之间的基本传值方式
- android:ellipsize实现跑马灯效果总结
- Linux I2C子系统分析之(一) ----- 用GPIO模拟I2C总线
- C#使用RSA加密解密文件
- python numpy np.full(shape, fill_value, dtype=None, order='C')函数 以指定数值填充指定形状的数组
- 获得本机的IP,掩码和网关
- nyoj-37 回文字符串
- 【原】分享超实用工具给大家
- 逾期之后还能贷款吗?
- text 两端对齐 小程序_leetcode 68 文本左右对齐
- 技巧收藏|10个JavaScript常用数组操作方法
- spring-retry重试与熔断详解—《亿级流量》内容补充
- 为什么深度学习有效?(why deep learning works)
- 3.netwox网络工具集入门教程
- linux中使用网易云音乐
- Win11截图工具在哪里?
- imatest测试分辨率使用教程
- silhouette_matlab
- switch语句的执行顺序
热门文章
- 关于《啊哈!算法》相关资源
- [导入]SQL Server存储过程编程经验技巧
- MATLAB中一些特殊的函数
- Cinesamples CineOrch for Mac(电影管弦乐队音色库)v2.0特别版
- Mac使用技巧:在“快速查看”中查看和编辑文件
- Openresty 安装、源码编译,增加WAF模块naxsi
- 电脑里的视频被误删了可以用EasyRecovery恢复吗?
- 如何用EasyRecovery 快速找回误删的截图
- Docker下Cannot connect to the Docker daemon. Is the docker daemon running on this host错误解决方案
- jedis默认切片实现及对应python版本实现