关于reduce
2024-09-05 03:05:00
arr.reduce( callback,[initialValue])
reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素
callback (执行数组中每个值的函数,包含四个参数)
1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
2、currentValue (数组中当前被处理的元素)
3、index (当前元素在数组中的索引)
4、array (调用 reduce 的数组)
initialValue (作为第一次调用 callback 的第一个参数。)
如果没有提供initialValue,reduce 会从索引1的地方开始执行
例如下面两串代码
var arr = [1, 2, 3, 4];
var sum = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
})
console.log(arr, sum);
打印结果:
1 2 1
3 3 2
6 4 3
[1, 2, 3, 4] 10
var arr = [1, 2, 3, 4];
var sum = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
},0) //注意这里设置了初始值
console.log(arr, sum); 打印结果:
0 1 0
1 2 1
3 3 2
6 4 3
[1, 2, 3, 4] 10 没有设置initialValue
ed的值得话便是从index等于1开始执行,比设置初始值为0的少执行一次
reduce的简单用法求和与乘积
var arr = [1, 2, 3, 4];
var sum = arr.reduce((x,y)=>x+y)
var mul = arr.reduce((x,y)=>x*y)
console.log( sum ); //求和,10
console.log( mul ); //求乘积,24
reduce的高级用法:数组去重,二维数组转化成一维,对象里的属性求和
等我理解透彻再补充…………
最新文章
- Bill的挑战(bzoj 1879)
- [转]CSS hack大全&;详解
- [Unity] Unity3D研究院编辑器之独立Inspector属性
- 几种常用的JS类定义方法(转)
- 闲谈SQL脚本优化
- 把方法转json在前台输出
- 【python之路6】pycharm的使用
- WPF仿微软事件和属性窗体,效果更炫!
- 【HDU 5532 Almost Sorted Array】水题,模拟
- java 构造方法 constructor demo笔记
- SVN的svnlook命令
- flask实战-个人博客-虚拟环境、项目结构
- java 每间隔一段时间执行一段代码
- Minimum number of steps CodeForces - 805D(签到题)
- HDU 4557 Tree(可持久化字典树 + LCA)
- Java反编译代码分析(一)
- Servlet下载文件迅雷不支持问题真相之一
- fiddler添加监测请求的 ip地址
- cocos2d-x onMouseMove中CCTouch *pTouch参数的细节
- delphi android 录像
热门文章
- 【转】地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法 C#
- C++ - 第一个程序
- iOS的多线程技术
- scdbg分析shellcode
- react做的简单的选项卡
- (CVE-2016-5195)脏牛本地提权
- centos6.5搭建rabbitmq服务器(单机)
- 不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串
- Stream入门及Stream在JVM中的线程表现
- REDIS scan与sunionstore合并多集合数据