js中reduce的用法,如何使用reduce函数

访客3年前黑客文章977

reduce的界说 

reduce() 方式吸收一个函数作为累加器,数组中的每个值(从左到右)更先缩减,最终盘算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注重: reduce() 对于空数组是不会执行回调函数的。


reduce的语法

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

1、functiong必填,用于执行每个数组米素的函数。其参数如下:

total 必须。初始值, 或者盘算竣事后的返回值。 
currentValue 必须。当前米素 
currentIndex 可选。当前米素的索引 
arr 可选。当前米素所属的数组工具。

2、initialValue可选,传递给函数的初始值。


浏览器的兼容

IE-9以上版本、Firefox-3.0以上版本、Safari-4以上版本、Opera-10.5以上版本。


reduce的用法

1、数组求和

var numbers = [1, 2, 3, 4];
 
function getSum(total, num) {
    return total + num;
}

console.log(numbers.reduce(getSum)) //10


2、数组扁平化

var rel=[[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
    return a.concat(b);
});

console.log(rel) //[0, 1, 2, 3, 4, 5]


3、数组更大值

var numbers = [1,10,100,0];
var max = numbers.reduce(function(pre,cur,inde,arr){return pre>cur?pre:cur;}); 
console.log(max)  //100


4、数组转工具

var arr = [{name: 'tony', age: 18}, {name: 'fly', age: 20}];
var obj = arr.reduce((prev, cur) => {prev[cur.age] = cur; return prev;}, {});
console.log(obj) 
//18:{name: "tony", age: 18}
//20:{name: "fly", age: 20}


5、统计字符串中每个字符泛起的次数

var arr = 'abcdaabc';
var info = arr.split('').reduce((p, k) => (p[k]++ || (p[k] = 1), p), {});
console.log(info); //{ a: 3, b: 2, c: 2, d: 1 }


6、数组去重

Array.prototype.unique = function() {
  var sortArr = this.sort(), result = [];
  sortArr.reduce((v1,v2) => {
    if(v1 !== v2){
      result.push(v1);
    }
    return v2;
  })
  result.push(sortArr[sortArr.length - 1]);
  return result;
}


......

思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

来看看你的个人信息是从哪里泄露的,最大的个人隐私渠道为社交媒体

来看看你的个人信息是从哪里泄露的,最大的个人隐私渠道为社交媒体,提到毛病表露,人们首先想到的是毛病嘉奖领域或国度毛病积储库,但现实上,很紧张、很“实时”的毛病表露渠道往往是社群媒体。 1.据美国动力...

北京高端美女预约微信

北京模特白薇的材料信息内容 预约网:微信号码 价钱花费:三千 女学妹种类:杂志期刊女学妹 艺人经纪人:白薇 关心总数:7140 想约总数:614三人 資源总数:1165人 今天丽人:353人 微信号码...

黑客运的危害(黑客的特点及危害)

黑客运的危害(黑客的特点及危害)

本文目录一览: 1、黑车的特征有哪些?希望回答者能给出不一样的烟火?️ 2、黑车非法营运这么处理 3、如果乘坐非法营运车辆有哪些危害 4、乘坐黑车有什么危害,为什么不能乘坐黑车? 5、...

系列分析:QQ音乐与网易云音乐的商业化与用户体验(一)

系列分析:QQ音乐与网易云音乐的商业化与用户体验(一)

编辑导语:QQ音乐和网易云音乐是各人常用的两款音乐APP,关于二者的产物体验陈诉和阐明固然有许多,但大大都都阐明的过于宽泛,并没有针对某一个或几个成果而举办比拟阐明,而且提出相关的看法。本文作者发明白...

数据被黑客盗走是什么意思(黑客是如何窃取你的身份信息的)

数据被黑客盗走是什么意思(黑客是如何窃取你的身份信息的)

本文导读目录: 1、黑客攻击是什么意思? 2、麦当劳部分数据遭黑客窃取,信息被盗对消费者会造成什么损失? 3、黑客是如何利用SIM卡存在的漏洞盗取数据的? 4、什么叫黑客攻击? 5、假...

哪里有专业找人公司(北京专业找人)

正所谓有需求就有市场,当然也会有专业的找人公司。主要是相关的咨询服务公司,主要从这几个方面判断其是否专业:公。 有这样的找人服务公司。各个地区都会有做这项业务的委托服务公司。人们可以根据这些方法对其...