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

访客4年前黑客文章1005

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米代金券、领会最新阿里云产物的种种优惠流动点击进入

相关文章

自己老公的微信聊天记录删了还可以恢复吗

飞鹤智纯奶粉孩子喜欢喝吗,飞鹤智纯奶粉喝起来感觉怎么样冲泡口感,这款奶粉会结块吗,友谊长存小编就来说说这个奶粉的试用后的感受吧。 宝贝整体 奶粉外包装很专业,用心。发货速度快,服务态度好。奶粉细腻...

手机定位软件怎么下载,真正免费最新手机定位软件下载

很多朋友想知道IOS如何修改位置。关于IOS如何在不越狱的情况下修改位置,并没有太多的胡说八道。所有软件都能生效! 首先,我们需要下载匹配地图应用程序来搜索位置,然后打开它在输入框中搜索特...

苏宁推“平京战役”挑衅京东:就比你便宜 不服来战

10月19日,苏宁云商集团公司副总经理孙为民今在“双十一”天猫商城北京发布会上表露,2020年双十一苏宁易购将发布一个新行動,称“平京行動”。孙为民表明,这一定义事实上是对比京东商城,要是在苏宁易购上...

什么是aa制婚姻(夫妻AA制好还是不好)

什么是aa制婚姻(夫妻AA制好还是不好)

导读:现在很多夫妻都在上班,都有收入,婚后AA制也不足以为奇。可是,AA制是好还是不好呢? 01 昨天颖儿和付辛傅上了娱乐新闻,付辛傅说要退博。究其原因还是因为网友扒出了夫妻俩曾经在电视节目中...

黑客能通过手机获得手机联系人(专业盗qq黑客联系方式)-怎样知道自己的手机是否被黑客

黑客能通过手机获得手机联系人(专业盗qq黑客联系方式)-怎样知道自己的手机是否被黑客

黑客能通过手机获得手机联系人(专业盗qq黑客联系方式)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在...

微信疯狂猜字黑客的简单介绍

微信疯狂猜字黑客的简单介绍

本文目录一览: 1、微信疯狂猜猜第136关怎么过 2、微信疯狂猜猜神第604关成语答案 3、微信小程序 疯狂猜猜 全部答案? 4、微信上的疯狂猜成语是不是骗人的 5、微信小程序疯狂猜猜...