游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

代码写得好,Reduce少不了,我用它在同事面前秀了一波

  数组中的reduce犹如一只魔法棒,通过它可以做一些黑科技一样的事情。语法如下:reduce(callback(accumulator,currentValue〔,index,array〕)〔,initialValue〕)
  reduce接受两个参数,回调函数和初识值,初始值是可选的。回调函数接受4个参数:积累值、当前值、当前下标、当前数组。
  如果reduce的参数只有一个,那么积累值一开始是数组中第一个值,如果reduce的参数有两个,那么积累值一开始是出入的initialValue初始值。然后在每一次迭代时,返回的值作为下一次迭代的accumulator积累值。
  今天的这些例子的大多数可能不是问题的理想解决方案,主要的目的是想说介绍如何使用reduce来解决问题。求和和乘法求和〔3,5,4,3,6,2,3,4〕。reduce((a,i)ai);30有初始化值〔3,5,4,3,6,2,3,4〕。reduce((a,i)ai,5);35如果看不懂第一个的代码,那么下面的代码与它等价〔3,5,4,3,6,2,3,4〕。reduce(function(a,i){return(ai)},0);乘法〔3,5,4,3,6,2,3,4〕。reduce((a,i)ai);查找数组中的最大值
  如果要使用reduce查找数组中的最大值,可以这么做:〔3,5,4,3,6,2,3,4〕。reduce((a,i)Math。max(a,i),Infinity);
  上面,在每一次迭代中,我们返回累加器和当前项之间的最大值,最后我们得到整个数组的最大值。
  如果你真想在数组中找到最大值,不要有上面这个,用下面这个更简洁:Math。max(。。。〔3,5,4,3,6,2,3,4〕);连接不均匀数组letdata〔〔The,red,horse〕,〔Plane,over,the,ocean〕,〔Chocolate,ice,cream,is,awesome〕,〔this,is,a,long,sentence〕〕letdataConcatdata。map(itemitem。reduce((a,i){a}{i}))结果〔Theredhorse,Planeovertheocean,Chocolateicecreamisawesome,thisisalongsentence〕
  在这里我们使用map来遍历数组中的每一项,我们对所有的数组进行还原,并将数组还原成一个字符串。移除数组中的重复项letdupes〔1,2,3,a,a,f,3,4,2,d,d〕letwithOutDupesdupes。reduce((noDupes,curVal){if(noDupes。indexOf(curVal)1){noDupes。push(curVal)}returnnoDupes},〔〕)
  检查当前值是否在累加器数组上存在,如果没有则返回1,然后添加它。
  当然可以用Set的方式来快速删除重复值,有兴趣的可以自己去谷歌一下。验证括号〔。。。(())()(()())〕。reduce((a,i)i(?a1:a1,0);0〔。。。((())()(()())〕。reduce((a,i)i(?a1:a1,0);1〔。。。(())()(()()))〕。reduce((a,i)i(?a1:a1,0);1
  这是一个很酷的项目,之前在力扣中有刷到。按属性分组letobj〔{name:Alice,job:DataAnalyst,country:AU},{name:Bob,job:Pilot,country:US},{name:Lewis,job:Pilot,country:US},{name:Karen,job:SoftwareEng,country:CA},{name:Jona,job:Painter,country:CA},{name:Jeremy,job:Artist,country:SP},〕letpplobj。reduce((group,curP){letnewkeycurP〔country〕if(!group〔newkey〕){group〔newkey〕〔〕}group〔newkey〕。push(curP)returngroup},〔〕)
  这里,我们根据country对第一个对象数组进行分组,在每次迭代中,我们检查键是否存在,如果不存在,我们创建一个数组,然后将当前的对象添加到该数组中,并返回组数组。
  你可以用它做一个函数,用一个指定的键来分组对象。扁平数组letflattened〔〔3,4,5〕,〔2,5,3〕,〔4,5,6〕〕。reduce((singleArr,nextArray)singleArr。concat(nextArray),〔〕)结果:〔3,4,5,2,5,3,4,5,6〕
  这只是一层,如果有多层,可以用递归函数来解决,但我不太喜欢在JS上做递归的东西。
  一个预定的方法是使用。flat方法,它将做同样的事情〔〔3,4,5〕,〔2,5,3〕,〔4,5,6〕〕。flat();只有幂的正数〔3,4,7,2,4〕。reduce((acc,cur){if(cur0){letRcur2;acc。push(R);}returnacc;},〔〕);结果〔16,49,4,144〕反转字符串constreverseStrstr〔。。。str〕。reduce((a,v)va)
  这个方法适用于任何对象,不仅适用于字符串。调用reverseStr(Hola),输出的结果是aloH。二进制转十进制constbin2decstr〔。。。String(str)〕。reduce((acc,cur)curacc2,0)等价于constbin2dec(str){return〔。。。String(str)〕。reduce((acc,cur){returncuracc2},0)}
  为了说明这一点,让我们看一个例子:(10111)1(1(1(0(102)2)2)2)2。
  完,我是刷碗智,励志等退休后,要回家摆地摊的人,我们下期见!
  作者:Ramgen译者:前端小智来源:dev原文:https:dev。toramgendepylearnjavascriptreducemethodwith5examples128n

带上它不仅有面子更能精准记录运动数据,这款运动智能手表有点爱智能手表的大火让运动也有了更多的乐趣,可以随时监控自己的运动数据等信息,这些都是做的非常不错的。笔者最近入手了一款红魔运动智能手表精钢版,除了它的外观时尚具有金属质感外,其实对……使用gorm。DefaultTableNameHandler业务背景有这样的业务场景,线上一个表tablea,线上环境还有一个镜像表tableamirror,你需要当请求中有一些tag标识的时候,访问tableamirror表先安……我还年轻不想戴助听器可医生建议我戴怎么办?现在有很多听力损失患者认为,我现在有些耳聋,但我不想配助听器,等我耳朵聋得实再听不清楚时再配。专家表示这种想法是不正确的。耳聋应尽早配助听器,就像眼睛近视尽量早配眼镜一样……国产手机品牌中,哪个牌子的最好?这些都是国产目前的热门手机,要说品牌好,或许大部分人第一时间都会想到华为,毕竟世界500强企业,如今销量依旧第一。不过现在OPPO和vivo已经赶上来了,而且和华为成为了三大国……新能源车电池质保背后有玄机,读懂新能源车保修手册很关键新能源汽车因电池衰减导致保值率低一直是车主的痛处。为此,国家政策要求新能源车企针对动力电池这一核心部件推出较长期的质保政策,让消费者安心。目前,一些车企推出了8年或15万公里以……年纪大了还要配助听器吗?您好!老人年纪大了听力下降了,影响与家人间的正常沟通,别人需要大声说话才可听到声音,这样别人累老人自己听的也很费力,长此以往别人不愿与他(她)沟通,自己也不愿听和说话,大脑的反……新能源车涨价并非应对供应链压力良策本报记者夏金彪近期,为了应对供应链上游原材料涨价和芯片短缺的压力,新能源车企选择了集体涨价,这在一定程度上会抑制市场需求,考验新能源汽车销售能否达到预期。今年年初,……2022世界5G大会5G融合应用揭榜赛将于5月启动为进一步深化5G融合应用,充分发挥电信运营企业、各行业企业关键的需求牵引和产业拉动作用,推广5G商业合作模式与行业应用解决方案,促进融合创新,培育应用产业生态,引导和支撑产业应……裁员变毕业?京东回应只是正常优化上周,社交平台上流传一张致京东员工的毕业须知。京东HR将裁员信称之为毕业须知,并在开头写道毕业快乐!恭喜您从京东顺利毕业!感谢一路相伴!。与此同时,网传的一份文档显示,京……看书学习的意义究竟是什么?看书学习的意义是什么?这是一个月月日日时时的话题。虽如此,观点各异,没人统一。有圣人说,有哲人说,有长辈说,有领导说,有师者说,有懒说。圣人说:读书可得美人得玉帛,可得大……众包和美团的区别你知道吗?美团作为互联网外卖中的巨头,每天都能有很多订单的产生。这些订单除了一部分自己配送外,剩下很大一部分就给到了美团专送和众包的团队。由于兼职的便利,很多人都会尝试一下做美团众包。那……西双版纳出过哪些名人?召存信召存信连续40年担任西双版纳傣族自治州州长。他始终不渝跟党走,把毕生精力奉献给西双版纳州建设事业,以实际行动推动民族团结开花结果,各族群众亲切地称呼他为老州长。召存……
放弃高配狠堆外观,小米CIVI这次方向对了前年小米专为女性打造的CC9,因为顾忌性价比,做得不像新系列,更像是小米6X的迭代产品。今年的小米CIVI改变巨大,放弃了性能配置,将成本更多地给到了外观、握感、以及自拍上。……木兰重生的妙用,更多编辑器高亮所有相关源码在码云mulanrework这几天复现了木兰编程语言中的功能(细节见第二部分)。编辑器的代码段类原本(左侧)有12处self,改写后(右侧)看起来就简洁了一些……焦点复盘个股迎来报复性反弹关注量能是否有效放大财联社11月4日讯,今日共97股涨停,16股封板未遂,封板率为86;吉鑫科技5连板,华亚智能4连板,香山股份3连板,创业板佳创视讯2连板。盘面上,收涨个股3311只,收跌个股1……华为P系列高端机型盘点,性能足够打,颜值居上,网友拍照更好华为P系列是华为最早拥有的高端系列。华为P系列不仅有强大的性能,而且在拍照方面增加了新的辅助。这是一个高端的摄影系列。目前华为有三款P系列手机,值得消费者购买。从华为P3……亿咖通科技紧跟时代步伐,研发行业领先的智能互联车载系统随着社会的发展,汽车产业在继电动化革命之后,开始进入了智能化和网联化时代,可以毫不夸张地说,汽车智能化是当今汽车产业最大的竞争点。亿咖通科技作为汽车科技公司,不断促进中国智能网……直击郑州服装市场,网友不知有多少人会倾家荡产21日上午1011点终于停!雨!了!但仍然不可掉以轻心暴雨橙色预警依然拉响为河南祈祷!(图片来源于网络,侵删)郑州下了多大的雨?17日……王思聪百万电脑配置清单昨天给大家发布了一个关于王校长组装电脑的视频,今天给大家详细讲解分析一下王校长电脑的配置!首先处理器是AMD最新的三代霄龙,64核128线程的版本,单颗就6万多,其实上面……电芯强劲,高效转化,物色移动电源匠心之作随着移动电源越来越走进生活,越来越普及,如何选择一款适合自己的数码产品,它的必需性能强电能大,同时外形时尚美观,又可以携带方便的移动电源,那么请大家关注这款酷比魔方的新品:M2……微信奥运红包封面彩蛋来了,快来领近日,看到微信推出了多个有关奥运会主题的相关活动,下面一起看一下,有的还蛮实用的。第一个,小伙伴可以通过微信支付有优惠小程序玩奥运主题跑酷小游戏,即可领取微信零钱的提现免……有源音箱的噪音分类声拓电子音爵士有源音箱的噪音分类【声拓电子音爵士】按来源分类,有源音箱的噪音大致可分为电磁干扰、机械噪声和热噪声三种。一种,电磁干扰主要可以分为电源变压器干扰和杂散电磁波干扰。电……国产伟哥90毛利终结?另一竞品将进全国公立医院,价格仅2元一在上个世纪90年代,为了寻找治疗心脏病的方法,美国辉瑞公司潜心研发了一款药品,这款药叫西地那非,只是让辉瑞的科研人员没有想到的是,这款药品在临床测试期间,竟然对男性勃起功能有着……评测影像非常突出的优秀旗舰vivoX60ProX60Pro能让你应付各种各样的拍摄条件,能实现所想的各种拍摄效果,再配合优秀的屏幕,轻薄的手感,55W快充和线性马达,除了没有双扬声器,在它身上基本找不到什么短板X60……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网