日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

JavaScript 終于原生支持數組分組了!

來源: 責編: 時間:2023-09-21 20:48:14 371觀看
導讀以前的數組分組假設有一個由表示人員的對象組成的數組,需要按照年齡進行分組。可以使用forEach循環來實現,代碼如下:const people = [ { name: "Alice", age: 28 }, { name: "Bob", age: 30 }, { name: "Eve", age: 2

XhR28資訊網——每日最新資訊28at.com

以前的數組分組

假設有一個由表示人員的對象組成的數組,需要按照年齡進行分組。可以使用forEach循環來實現,代碼如下:XhR28資訊網——每日最新資訊28at.com

const people = [  { name: "Alice", age: 28 },  { name: "Bob", age: 30 },  { name: "Eve", age: 28 },];const peopleByAge = {};people.forEach((person) => {  const age = person.age;  if (!peopleByAge[age]) {    peopleByAge[age] = [];  }  peopleByAge[age].push(person);});console.log(peopleByAge);

輸出結果如下:XhR28資訊網——每日最新資訊28at.com

{  "28": [{"name":"Alice","age":28}, {"name":"Eve","age":28}],  "30": [{"name":"Bob","age":30}]}

也可以使用reduce方法:XhR28資訊網——每日最新資訊28at.com

const peopleByAge = people.reduce((acc, person) => {  const age = person.age;  if (!acc[age]) {    acc[age] = [];  }  acc[age].push(person);  return acc;}, {});

無論哪種方式,代碼都略顯繁瑣。每次都要檢查對象,看分組鍵是否存在,如果不存在,則創建一個空數組,并將項目添加到該數組中。XhR28資訊網——每日最新資訊28at.com

使用 Object.groupBy 分組

可以通過以下方式來使用新的Object.groupBy方法:XhR28資訊網——每日最新資訊28at.com

const peopleByAge = Object.groupBy(people, (person) => person.age);

可以看到,代碼非常簡潔!XhR28資訊網——每日最新資訊28at.com

不過需要注意,使用Object.groupBy方法返回一個沒有原型(即沒有繼承任何屬性和方法)的對象。這意味著該對象不會繼承Object.prototype上的任何屬性或方法,例如hasOwnProperty或toString等。雖然這樣做可以避免意外覆蓋Object.prototype上的屬性,但也意味著不能使用一些與對象相關的方法。XhR28資訊網——每日最新資訊28at.com

const peopleByAge = Object.groupBy(people, (person) => person.age);console.log(peopleByAge.hasOwnProperty("28"));// TypeError: peopleByAge.hasOwnProperty is not a function

在調用Object.groupBy時,傳遞給它的回調函數應該返回一個字符串或 Symbol 類型的值。如果回調函數返回其他類型的值,它將被強制轉換為字符串。XhR28資訊網——每日最新資訊28at.com

在這個例子中,回調函數返回的是一個數字類型的age屬性值,但由于Object.groupBy方法要求鍵必須是字符串或 Symbol 類型,所以該數字會被強制轉換為字符串類型。XhR28資訊網——每日最新資訊28at.com

console.log(peopleByAge[28]);// => [{"name":"Alice","age":28}, {"name":"Eve","age":28}]console.log(peopleByAge["28"]);// => [{"name":"Alice","age":28}, {"name":"Eve","age":28}]

使用 Map.groupBy 分組

Map.groupBy和Object.groupBy幾乎做的是相同的事情,只是返回的結果類型不同。Map.groupBy返回一個Map對象,而不是像Object.groupBy返回一個普通的對象。XhR28資訊網——每日最新資訊28at.com

const ceo = { name: "Jamie", age: 40, reportsTo: null };const manager = { name: "Alice", age: 28, reportsTo: ceo };const people = [  ceo  manager,  { name: "Bob", age: 30, reportsTo: manager },  { name: "Eve", age: 28, reportsTo: ceo },];const peopleByManager = Map.groupBy(people, (person) => person.reportsTo);

這里根據人的匯報上級將他們進行了分組。如果想通過對象來從這個Map中獲取數據,那么要求這些對象具有相同的身份或引用。這是因為Map在比較鍵時使用的是嚴格相等(===),只有兩個對象具有相同的引用,才能被認為是相同的鍵。XhR28資訊網——每日最新資訊28at.com

peopleByManager.get(ceo);// => [{ name: "Alice", age: 28, reportsTo: ceo }, { name: "Eve", age: 28, reportsTo: ceo }]peopleByManager.get({ name: "Jamie", age: 40, reportsTo: null });// => undefined

在上面的例子中,如果嘗試使用與ceo對象類似的對象作為鍵去訪問Map中的項,由于這個對象與之前存儲在Map中的ceo對象不是同一個對象,所以無法檢索到對應的值。XhR28資訊網——每日最新資訊28at.com

瀏覽器支持

這兩個groupBy方法是 proposal-array-grouping 提案提出的,該提案目前處于第3階段,預計會在 2024 年成為正式標準。XhR28資訊網——每日最新資訊28at.com

9 月 12 日,Chrome 117發布,該版本支持了這兩個方法。Firefox Nightly 在一個標志后已經實現了這兩個方法。Safari已經以不同的名稱實現了這些方法。由于這些方法在 Chrome 中可用,這意味著它們已經在V8中被實現,所以下一次V8更新時它們將在Node中可用。XhR28資訊網——每日最新資訊28at.com

XhR28資訊網——每日最新資訊28at.com

XhR28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-10900-0.htmlJavaScript 終于原生支持數組分組了!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 前后端分離項目必備——自動生成API文檔神器Swagger

下一篇: OpenAI一夜顛覆AI繪畫!DALL·E 3+ChatGPT強強聯合,畫面直接細節爆炸

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度。  CRM軟件市場規模如今超過580
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 消息稱小米汽車開始篩選交付中心:需至少120個車位

    IT之家 7 月 7 日消息,日前,有微博簡介為“汽車行業從業者、長三角一體化擁護者”的微博用戶 @長三角行健者 發文表示,據經銷商集團反饋,小米汽車目前
  • 支持aptX Lossless無損傳輸 iQOO TWS 1賽道版發布限時優惠價369元

    2023年7月4日,“無損音質,聲動人心”iQOO TWS 1正式發布,支持aptX Lossless無損傳輸,限時優惠價369元。iQOO TWS 1耳機率先支持端到端aptX Lossless無
  • iQOO Neo8系列或定檔5月23日:首發天璣9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列機型,不僅搭載了天璣9000+,而且是同價位唯一一款天璣9000+直屏旗艦,一經上市便受到了用戶的廣泛關注。在時隔半年后,
  • Windows 11發布,微軟一改往常對老機型開放的態度

    距離 Windows 11 發布已經過去一周,在過去一周里,很多數碼愛好者圍繞其對 Android 應用的支持、對老機型的升級問題展開了激烈討論。與以往不同的是,在這次大
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美高清在线一区| 久久福利资源站| 亚洲人成免费| 亚洲伦理在线| 亚洲一区二区三区精品视频| 午夜综合激情| 另类激情亚洲| 欧美日韩一区精品| 国产深夜精品| 亚洲人体1000| 亚洲一区二区三区免费观看| 欧美专区亚洲专区| 欧美国产第一页| 国产免费成人av| 在线观看亚洲| 亚洲一区三区在线观看| 久久人人九九| 国产精品国产精品国产专区不蜜| 国内精品久久久| 99视频一区二区| 久久精品一区| 欧美视频在线观看一区| 黄色av日韩| 亚洲婷婷综合色高清在线| 久久亚洲一区二区三区四区| 欧美网站在线观看| 在线观看欧美视频| 亚洲欧美色婷婷| 欧美激情bt| 韩国视频理论视频久久| 一区二区三区视频在线| 开心色5月久久精品| 欧美日韩在线播放三区| 国产专区欧美精品| 国产真实精品久久二三区| 夜夜嗨av色综合久久久综合网| 亚洲与欧洲av电影| 久久影视精品| 国产免费观看久久| 亚洲午夜激情网页| 国产亚洲一区在线播放| 亚洲婷婷在线| 欧美视频导航| 国产欧美一区视频| 性欧美暴力猛交69hd| 国产欧美视频一区二区| 久久久午夜视频| 国产日韩精品一区二区| 国产精品欧美一区喷水| 尤物精品在线| 国产精品美女xx| 亚洲中字黄色| 国产日韩欧美一区二区三区在线观看| 欧美成人精品在线播放| 美女主播一区| 久久久99久久精品女同性| 欧美亚洲日本网站| 亚洲欧美日韩一区| 亚洲视频自拍偷拍| 在线视频日本亚洲性| 国产精品久在线观看| 中日韩美女免费视频网站在线观看| 激情欧美一区二区三区| 国产精品福利av| 欧美激情精品久久久久久蜜臀 | 久久久亚洲一区| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 日韩一本二本av| 亚洲精品久久| 亚洲欧美久久久久一区二区三区| 亚洲国产精品视频一区| 久久久精品一区二区三区| 国产美女诱惑一区二区| 亚洲欧美亚洲| 国产精品欧美久久| 亚洲男人的天堂在线观看| 欧美午夜精品一区| 一区二区三区精密机械公司| 欧美另类高清视频在线| 亚洲日本中文字幕| 欧美国产亚洲视频| 亚洲精品在线视频| 欧美人在线视频| 亚洲理论电影网| 欧美日本精品| 一区二区三区免费观看| 国产精品爱啪在线线免费观看| 亚洲午夜国产一区99re久久| 国产精品扒开腿做爽爽爽软件| 亚洲视频精品在线| 国产精品日韩专区| 欧美与欧洲交xxxx免费观看| 国产日韩专区在线| 久久久久欧美精品| 亚洲第一天堂无码专区| 免费影视亚洲| 亚洲美女色禁图| 欧美视频免费看| 亚洲免费在线观看| 国产一区二区剧情av在线| 久久久亚洲影院你懂的| 亚洲欧洲一区二区天堂久久 | 国产精品成人观看视频免费 | 久久激情五月丁香伊人| 又紧又大又爽精品一区二区| 美女黄色成人网| 亚洲韩国一区二区三区| 欧美日韩hd| 亚洲欧美一区二区激情| 国产视频一区欧美| 老牛嫩草一区二区三区日本| 亚洲欧洲在线免费| 欧美日韩另类视频| 先锋影音久久久| 在线精品亚洲| 欧美午夜激情视频| 欧美在线视频网站| 亚洲成色www8888| 欧美日韩亚洲一区| 欧美制服丝袜| 亚洲激情一区二区三区| 欧美午夜宅男影院| 久久国产手机看片| 亚洲精品免费观看| 国产精品视区| 免费看的黄色欧美网站| 亚洲午夜久久久久久久久电影院| 国产日韩精品一区二区三区在线| 麻豆精品一区二区av白丝在线| 99精品国产福利在线观看免费| 国产精品午夜在线观看| 噜噜噜91成人网| 亚洲影院高清在线| 亚洲电影在线| 国产精品看片你懂得| 蜜桃久久av一区| 亚洲影院在线| 亚洲国产91精品在线观看| 国产精品久久久久久久久| 麻豆乱码国产一区二区三区| 国产精品99久久久久久久女警| 国产综合久久久久久鬼色| 欧美日韩高清区| 久久亚洲高清| 亚洲欧美日韩国产综合精品二区| 亚洲国产精品一区制服丝袜| 国产欧美在线观看一区| 欧美日韩国产123| 久久女同互慰一区二区三区| 亚洲色图自拍| 亚洲国产视频直播| 国产日韩一级二级三级| 欧美日韩一级视频| 免费在线成人| 久久国产精品久久久久久久久久| 一本在线高清不卡dvd| 在线视频观看日韩| 国产日韩视频一区二区三区| 欧美日韩黄色一区二区| 美女视频黄 久久| 欧美在线观看一二区| 一区二区三区四区五区视频| 亚洲电影有码| 国产美女扒开尿口久久久| 欧美精品三区| 蜜桃伊人久久| 久久免费视频网站| 欧美一级视频| 亚洲图片欧美一区| 99re6这里只有精品| 亚洲国产小视频| 国内在线观看一区二区三区| 国产精品久久久久久亚洲毛片 | 久久人人97超碰国产公开结果| 午夜国产精品视频| 一区二区91| 日韩视频在线观看一区二区| 亚洲电影有码| 在线观看中文字幕不卡| 狠狠久久五月精品中文字幕| 国产视频一区在线观看一区免费 | 亚洲高清一二三区| 激情久久中文字幕| 国产亚洲一区在线| 国产伦理一区| 国产精品综合av一区二区国产馆| 欧美无乱码久久久免费午夜一区| 欧美欧美在线| 欧美劲爆第一页| 欧美夫妇交换俱乐部在线观看| 久久综合伊人77777| 久久久久久亚洲精品中文字幕| 久久福利精品| 久久激五月天综合精品| 欧美一区二区三区电影在线观看| 午夜精品视频| 亚洲欧美日韩一区二区三区在线| 亚洲一区国产精品| 亚洲欧美www| 午夜精品电影| 欧美一区二区三区在线播放| 欧美影院精品一区| 久久精品国产清自在天天线| 久久精品首页|