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

厉害了,JavaScript新提案array。groupBy

  许多开发人员喜欢Ruby编程语言,因为它具有丰富的标准实用程序库。例如,Ruby中的数组有大量的方法。
  不过,我们的JavaScript也在努力,在字符串和数组方面逐步丰富了它的标准库。例如,在以前的文章中,介绍新的array。at()方法。
  今天我们在来看新的数组组提案(目前处于第三阶段),它引入了新方法array。groupby()和array。groupbytomap()。它们的polyfills文件可以在corejs库中找到。
  接着,我们来看下能从中学到些什么。1。array。groupBy()
  假设我们有一个产品列表,其中每个产品都是一个具有2个属性的对象:name和category。constproducts〔{name:apples,category:fruits},{name:oranges,category:fruits},{name:potatoes,category:vegetables}〕;
  在上面的示例中,products是一个产品对象数组。
  现在,对产品列表执行一个简单的操作,将产品按类别分组。constgroupByCategory{fruits:〔{name:apples,category:fruits},{name:oranges,category:fruits},〕,vegetables:〔{name:potatoes,category:vegetables}〕};
  如何从products数组中得到一个类似groupByCategory的数组?
  通常的方法是使用array。reduce()来实现,如下所示:constgroupByCategoryproducts。reduce((group,product){const{category}product;group〔category〕group〔category〕??〔〕;group〔category〕。push(product);returngroup;},{});console。log(groupByCategory);{fruits:〔{name:apples,category:fruits},{name:oranges,category:fruits},〕,vegetables:〔{name:potatoes,category:vegetables}〕}
  products。reduce((acc,product){。。。})将产品数组还原为一个按类别分组的产品对象。
  array。reduce()方法有用且强大,但有时它的可读性并不是最好的。
  因为分组数据是常见的事(从SQL中召回groupby?),数组组提案引入了两个有用的方法:array。groupBy()和array。groupByToMap()。
  下面介绍如何使用array。groupBy()创建相同的分类分组:constgroupByCategoryproducts。groupBy(product{returnproduct。category;});console。log(groupByCategory);{fruits:〔{name:apples,category:fruits},{name:oranges,category:fruits},〕,vegetables:〔{name:potatoes,category:vegetables}〕}
  products。groupBy(product{。。。})返回一个对象,其中每个属性的键是类别名称,值是对应类别的产品数组。
  使用products。groupBy()分组比使用product。reduce()代码更少,更容易理解。
  array。groupBy(callback)接受一个回调函数,该函数被调用时有3个参数:当前数组项、索引和数组本身。回调函数应该返回一个字符串:你想添加项目的组名。constgroupedObjectarray。groupBy((item,index,array){。。。returngroupNameAsString;});2。array。groupByToMap()
  有时你可能想使用Map而不是普通对象。Map的好处是它可以接受任何数据类型作为键,但普通对象只限于字符串和symbol。
  恩,如果你想把数据分组到一个Map中,你可以使用array。groupByToMap()方法。
  array。groupByToMap(callback)的工作方式与array。groupBy(callback)完全一样,只是它将项目分组到Map中,而不是一个普通的JS对象中。
  例如,将产品数组按类别名称分组到一个ap中,执行方法如下。constgroupByCategoryproducts。groupByToMap(product{returnproduct。category;});console。log(groupByCategory);Map(〔〔fruits,〔{name:apples,category:fruits},{name:oranges,category:fruits},〕〕,〔vegetables,〔{name:potatoes,category:vegetables}〕〕)3。总结
  如果你想轻松地对数组中的项进行分组(类似于SQL中的GROUPBY),那么欢迎使用新方法array。groupBy()和array。groupByToMap()。
  两个函数都接受一个回调函数,该回调函数应返回必须插入当前项的组的键。
  array。groupBy()将这些项分组为一个普通的JavaScript对象,而array。groupByToMap()将它们分组为一个Map实例。
  如果你想马上使用这些函数,那么使用corejs库提供的polyfill。
  作者:AshishLahoti译者:前端小智来源:dmitripavlutin原文:https:dmitripavlutin。comjavascriptarraygroup

忘川茶舍之铸剑祭魂今日上线董璇领衔侠魔混战星关系3月30日讯3月30日,由向一文化、如此影业、博行娱乐联合出品,知名女星董璇担任出品人并出演核心角色的系列电影《忘川茶舍之铸剑祭魂》独家上线腾讯视频。作为《忘川茶舍》系列……只有芸知道微博抖音屡上热搜引热议黄轩杨采钰病床分离演哭冯小刚星关系12月23日讯由冯小刚执导,张翎编剧,黄轩、杨采钰、徐帆、LydiaPeckham主演的电影《只有芸知道》正在温暖热映中。影片中相濡以沫的爱情被网友形容为纯粹而深刻正是爱……随手一张手机照卖1300,活在摄影鄙视链顶端,到底有多爽?能给大家带来视觉上的享受就是好照片傲慢吗我是没有体验过一张手机照片卖1300的,但是明确的和大家分享,照片出售版权是可以挣钱的,甚至很多职业摄影以此为生,国家地理的……星际探索曝搏命太空版预告海报布拉德皮特太空漂流九死一生星关系11月28日讯由布拉德皮特领衔主演的好莱坞科幻灾难冒险巨制《星际探索》即将于12月6日登陆中国银幕,影片今日曝光搏命太空版预告及海报。皮特饰演的天才宇航员罗伊将孤身勇闯四……御3新爆料高低配两个版本,镜头可以热切换使用,时间已定打手前些日子已经看过真机的照片。废话不说了,说一些新确定的细节:相机上标有双摄镜头参数,变焦标有7X,广角标有F2。8EQV24,大概位置见下图。两个镜头是可以热切换使用……演员丁芝天进组拍摄有偿有限公司首次尝试科幻片角色新奇星关系7月15日讯近日,由演员丁芝天主演的电影《有偿有限公司》在哈尔滨开机,丁芝天在影片中饰演李灿灿一角。电影讲述的是在未来世界里,一家来自异空间专门吸收人类欲望转化能源……银河补习班路演天津收官哏都观众赞电影是亲子教育的明灯星关系7月15日讯一路哭哭笑笑,电影《银河补习班》全国路演7月14日在天津落下帷幕。作为收官站,哏都观众盛赞电影是亲子教育的明灯。影片超前点映已开启,超过50万人次提前尝鲜,各……情比山高斩获22项大奖最真实的小人物爱国情怀电影!大IP下的主旋律爱国电影《情比山高》将于10月24日上映。据不完全统计,这部片已经在各大电影节上斩获22项大奖,在国外网站IMBd评分也已达到8。8分。这部片源于真实的历……青春逗人生可以没有青春痘但一定要战逗谁的青春不战逗,正如《青春逗》所言,你的人生可以没有青春痘,但一定要不停战逗,因为只有经过层层逗乐的人生蜕变,才能更好地感悟生活,享受人生。昨日,励志青春喜剧电影《青春逗……王牌特工2黄金圈再有三天上映成网友10月最期待电影!《王牌特工2:黄金圈》10月20日将正式在中国上映,作为007系列特工电影的发源地,王牌特工把英国的绅士品格、贵族气息展现的淋漓尽致。鉴于王牌特工1的超高好评,2还没上映就被网……能把作弊拍得如此惊心动魄恐怕只有天才枪手做得到!今日,现象级神作《天才枪手》在奥斯卡新建文影城举办了超前观影活动,观影过后,影迷们对该片好评如潮,纷纷表示这才是青春片该有的样子,称赞《天才枪手》一定会成为2017又一部票房黑……26年后刘德华再演五亿探长追龙首度与甄子丹合作横行香港!王晶、关智耀新作《追龙》将于9月30日在内地上映,这部片甄子丹、刘德华、姜皓文、胡然、徐冬冬等主演。这部片讲述了上个世纪六七十年代香港由英国殖民时期黑帮跛子豪(甄子丹饰)和探长……
C怎么判断大小端模式大小端模式:大端模式:先存放最高有效字节,表现为最高有效字节存储在低地址小端模式:先存放最低有效字节,表现为最低有效字节存储在低地址小端模式便于机器处理,大端模式方便人阅……2021年假期全部结束的朋友圈文案怎么写?这款便签更适合你2021年的国庆假期刚刚过去不久,很多人都意犹未尽,心中期待着下一次的假期。可是对于2021年来说,全部的法定节假日已经全部过完了!听到这个消息,很多小伙伴都想发布朋友圈来感慨……linux指令学习总结3自己学习总结文档,有些乱,勿喷1、mv命令详解mv(选项)(参数)剪切,或在同目录下移动重命名1。如果目标文件是文件夹,则源文件直接移动到该文件夹内,名字还是……谷歌对华为停止应用服务更新华为EMUI升级不再有谷歌服务!根据外媒报道,谷歌将对华为切断安卓关键应用程序和更新的访问,此前华为在中美贸易战中遭受打击。目前华为在美国的出货量相对较少,不过在欧洲和亚洲却拥有庞大的智能手机业务以及出货量,……全力布局线上市场,vivo与京东合作擦出新火花!3月19日晚,声势浩大的vivoX21新品发布会在浙江乌镇举办,凭借领先的屏幕指纹技术、全面屏外观以及JoviAI助理和众多人工智能应用,vivo掀起了2018年手机竞争的新一……淘宝运营直通车里面的关键词和标题里的关键词是什么关系?我们都了解,直通车其实就是一个纯粹的关键词推广工具,在这里面我们可以添加不同的宝贝,添加不同的计划,最多的时候我们可以添加200多个关键词,那么有人就要问了,那这200多个关键……手机app开发从创意到落地要多久?手机app开发从创意到落地要多久?无论是软件开发企业还是用户端企业都十分重视的问题之一。毕竟市场需求变换快,1个月前可能还是流量小生,1个月后却是无人问津的落魄网红,谁能先一步……凭啥?一双拖鞋上李佳琦直播间14次,爆卖250000双,年销拖鞋都内卷了。文姜雪芬编辑范婷婷踩屎感拖鞋火得猝不及防。杨秘记得,2020年春天,李佳琦的直播间里,一款产品的介绍时间通常是四五分钟,但自家的厚底家居凉……真的可以边看边赚钱今天正式提钱了,哈哈,看新闻看视频真的可以赚钱。今天看了一眼有40多块钱,选择支付宝提钱30元,这30多块买点肉不香吗?赶紧下载吧。这是真正的边消遣边有收益。其实以前一直……为了解放双手,我入手了这款小洁扫地机器人,看看它到底如何对于大多数人来说,购买扫地机器人就是为了解放双手,帮助自己分担大部分家居地面清洁工作。面对市面上那么多的扫地机器人,我们又该如何选择呢?我在这给大家推荐一款性价比最优的扫拖机器……前沿地带从量子计算到量子互联网资本实验室今日创新观察聚焦前沿科技创新与传统产业升级齐达当我们进入互联网时代,科技进步和社会发展就建立在了数据与计算能力的基础之上。庞大的数据量与快速的……苹果汽车即将亮相续航1287km突破历史上限在去年年底,台湾《经济日报》发布新闻称,AppleCar将在2021年9月正式亮相。随着时间的推进,有外媒曝光了一组苹果汽车的假想图,虽然没有消息证明这些图片和最终量产车之间有……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网