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

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

Lodash 的又一方法被替代了,探索 JS 新特性 Object.groupBy

來源: 責編: 時間:2024-07-24 14:44:56 279觀看
導讀Hello,大家好,我是 Sunday。ES 2024增加了很多 JS 的新特性, 在這篇文章中 我們也提到過幾個可能會大火的新方法。其中 Object.groupBy 是最受大家關注的新方法之一:Object.groupBy() 靜態方法根據提供的回調函數返回的字

Hello,大家好,我是 Sunday。E6c28資訊網——每日最新資訊28at.com

ES 2024增加了很多 JS 的新特性, 在這篇文章中 我們也提到過幾個可能會大火的新方法。E6c28資訊網——每日最新資訊28at.com

其中 Object.groupBy 是最受大家關注的新方法之一:E6c28資訊網——每日最新資訊28at.com

Object.groupBy() 靜態方法根據提供的回調函數返回的字符串值對給定可迭代對象中的元素進行分組。返回的對象具有每個組的單獨屬性,其中包含組中的元素的數組。E6c28資訊網——每日最新資訊28at.com

它的具體語法如下所示:E6c28資訊網——每日最新資訊28at.com

Object.groupBy(items, callbackFn)// array:需要分組的數組。// callback:對數組中的每個元素執行的回調函數。回調函數返回一個值,用作分組的鍵。

而這樣方法在 Lodash 中也有過類似的實現,作用也與 Object.groupBy 類似(如果我們關注最近幾年的 ES 新增特性,會發現很多的新增特性都在社區庫中提前進行過實現):E6c28資訊網——每日最新資訊28at.com

圖片圖片E6c28資訊網——每日最新資訊28at.com

那么接下來就讓我們通過 5 個場景,深入看一下 Object.groupBy 這個方法,對我們以后的開發會有什么幫助!E6c28資訊網——每日最新資訊28at.com

01:按單一條件分組

按照年齡為數據進行分組。E6c28資訊網——每日最新資訊28at.com

const users = [  { name: '張三', age: 21 },  { name: '李四', age: 25 },  { name: '王五', age: 21 },  { name: '趙六', age: 28 } ] const groupedByAge = Object.groupBy(users, (user) => user.age) console.log(groupedByAge) /*  {    "21": [        {            "name": "張三",             "age": 21        },         {            "name": "王五",             "age": 21        }    ],     "25": [        {            "name": "李四",             "age": 25        }    ],     "28": [        {            "name": "趙六",             "age": 28        }    ]}  */

02:按多個條件分組

const users = [  { name: '張三', age: 21, gender: '男' },  { name: '李四', age: 25, gender: '女' },  { name: '王五', age: 21, gender: '女' },  { name: '趙六', age: 25, gender: '女' },  { name: '孫七', age: 30, gender: '女' },  { name: '周八', age: 21, gender: '男' }]const groupedByAgeAndGender = Object.groupBy(users, (user) => {  const ageGroup = user.age < 25 ? '25歲以下' : '25歲以上'  return `${ageGroup}-${user.gender}`})console.log(groupedByAgeAndGender)/*{"25歲以下-男": [  {    "name": "張三",    "age": 21,    "gender": "男"  },  {    "name": "周八",    "age": 21,    "gender": "男"  }],"25歲以上-女": [  {    "name": "李四",    "age": 25,    "gender": "女"  },  {    "name": "趙六",    "age": 25,    "gender": "女"  },  {    "name": "孫七",    "age": 30,    "gender": "女"  }],"25歲以下-女": [  {    "name": "王五",    "age": 21,    "gender": "女"  }]}  */

03:按復雜計算分組

根據指定的結果對數據進行分組處理。E6c28資訊網——每日最新資訊28at.com

const students = [  { name: '張三', score: 85 },  { name: '李四', score: 92 },  { name: '王五', score: 70 },  { name: '趙六', score: 78 },  { name: '孫七', score: 88 }]const groupedByGrade = Object.groupBy(students, (student) => {  if (student.score >= 90) return 'A'  if (student.score >= 80) return 'B'  if (student.score >= 70) return 'C'  return 'D'})console.log(groupedByGrade)/*{"B": [  {    "name": "張三",    "score": 85  },  {    "name": "孫七",    "score": 88  }],"A": [  {    "name": "李四",    "score": 92  }],"C": [  {    "name": "王五",    "score": 70  },  {    "name": "趙六",    "score": 78  }]}  */

04:依賴另外的數據進行分組

假設我們有一個用戶數據數組,并且想要按用戶居住的城市對其進行分組,其中城市數據是從外部 API 獲取的。E6c28資訊網——每日最新資訊28at.com

const users = [  { name: '張三', cityId: 1 },  { name: '李四', cityId: 2 },  { name: '王五', cityId: 1 },  { name: '趙六', cityId: 3 },  { name: '孫七', cityId: 2 }]// Simulate fetching city data from an external APIconst cityData = {  1: '北京',  2: '上海',  3: '深圳'}const groupedByCity = Object.groupBy(users, (user) => cityData[user.cityId])console.log(groupedByCity)/*{"北京": [  {    "name": "張三",    "cityId": 1  },  {    "name": "王五",    "cityId": 1  }],"上海": [  {    "name": "李四",    "cityId": 2  },  {    "name": "孫七",    "cityId": 2  }],"深圳": [  {    "name": "趙六",    "cityId": 3  }]}*/

05:按日期分組

根據日期進行數據劃分。E6c28資訊網——每日最新資訊28at.com

const logs = [  { message: '時間1', date: '2024-01-01T10:00:00Z' },  { message: '時間2', date: '2024-01-01T12:00:00Z' },  { message: '時間3', date: '2024-01-02T10:00:00Z' },  { message: '時間4', date: '2024-01-02T14:00:00Z' },  { message: '時間5', date: '2024-01-03T10:00:00Z' }]const groupedByDate = Object.groupBy(  logs,  (log) => new Date(log.date).toISOString().split('T')[0])console.log(groupedByDate)/*{"2024-01-01": [  {    "message": "時間1",    "date": "2024-01-01T10:00:00Z"  },  {    "message": "時間2",    "date": "2024-01-01T12:00:00Z"  }],"2024-01-02": [  {    "message": "時間3",    "date": "2024-01-02T10:00:00Z"  },  {    "message": "時間4",    "date": "2024-01-02T14:00:00Z"  }],"2024-01-03": [  {    "message": "時間5",    "date": "2024-01-03T10:00:00Z"  }]}*/

總結

結合以上的 5 個場景,我們可以看出 Object.groupBy 主要用來處理 分組 相關的操作。預期對應的還有 Map.groupBy() 這個方法,他們的使用場景相差不大,這里就不去細說了。E6c28資訊網——每日最新資訊28at.com

所以,有了 Object.groupBy 之后,一旦遇到 分組 相關的場景,那就是用它吧~E6c28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-103164-0.htmlLodash 的又一方法被替代了,探索 JS 新特性 Object.groupBy

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

上一篇: 面試官:網頁太慢了怎么排查?

下一篇: 聊一聊 CSS 的十個技巧和竅門

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
六月天综合网| 亚洲狼人精品一区二区三区| 欧美亚日韩国产aⅴ精品中极品| 欧美日韩国产影院| 国产精品区一区二区三区| 国产日韩在线看片| 在线精品国产欧美| 艳女tv在线观看国产一区| 亚洲欧美在线高清| 久久午夜精品一区二区| 欧美久久影院| 国产麻豆91精品| 黄色资源网久久资源365| 亚洲精品日韩在线观看| 亚洲深夜福利在线| 久久精品日产第一区二区三区 | 欧美日韩国产二区| 国产精品一卡二卡| 亚洲国产精品成人综合色在线婷婷| 夜夜精品视频一区二区| 久久精品卡一| 欧美日韩亚洲一区二区三区| 国产日韩精品一区二区| 亚洲精品国产系列| 欧美亚洲在线观看| 欧美日韩第一区| 国产一区在线观看视频| 日韩一级在线观看| 久久精品理论片| 欧美日韩免费视频| 精品1区2区3区4区| 亚洲在线观看| 欧美国产日韩亚洲一区| 国产欧美日韩在线观看| 日韩天天综合| 久久午夜精品一区二区| 国产精品萝li| 亚洲裸体在线观看| 久久久精品国产免费观看同学| 欧美日韩精品一二三区| 在线观看亚洲一区| 欧美一区二区三区在线观看| 欧美日韩三区四区| 亚洲第一精品夜夜躁人人爽| 午夜欧美精品| 欧美午夜精品| 亚洲精品资源| 麻豆精品在线视频| 国产综合激情| 欧美亚洲免费电影| 国产精品videosex极品| 亚洲精品欧洲| 免费亚洲一区二区| 国产一区亚洲| 欧美综合国产| 国产精品亚洲激情| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品久久久久久久久动漫| 亚洲国产高清aⅴ视频| 欧美在线观看一区二区三区| 欧美午夜精品一区| 亚洲精品日韩久久| 欧美成人免费在线视频| 激情成人av在线| 欧美呦呦网站| 国产乱码精品一区二区三区忘忧草 | 国产精品男女猛烈高潮激情 | 性感少妇一区| 国产精品久久久一区二区| 亚洲人成77777在线观看网| 久久免费黄色| 国内伊人久久久久久网站视频| 亚洲一区二区三区免费在线观看| 欧美精品黄色| 亚洲精品一区二| 欧美国产专区| 亚洲国产日韩欧美| 欧美va天堂| 亚洲国产精品久久久| 久热成人在线视频| 在线精品国产成人综合| 狂野欧美性猛交xxxx巴西| 精品电影在线观看| 久久综合狠狠| 亚洲国产精品国自产拍av秋霞| 欧美mv日韩mv国产网站| 亚洲经典一区| 欧美另类69精品久久久久9999| 亚洲日韩中文字幕在线播放| 欧美国产一区二区| 亚洲三级免费电影| 欧美精品一区二区在线播放| 亚洲精品一区二区在线| 欧美激情在线免费观看| 日韩一二三区视频| 欧美日韩精品欧美日韩精品 | 亚洲一区www| 国产精品自拍三区| 久久精品亚洲| 亚洲电影毛片| 欧美人与性动交cc0o| 亚洲视频999| 国产毛片精品视频| 久久另类ts人妖一区二区| 亚洲福利视频二区| 欧美久久精品午夜青青大伊人| 亚洲精品久久久久久下一站| 欧美日韩视频第一区| 亚洲欧美成人在线| 狠狠狠色丁香婷婷综合激情| 麻豆久久久9性大片| 亚洲肉体裸体xxxx137| 欧美日韩一级黄| 亚洲欧美日韩一区二区在线| 国产真实乱子伦精品视频| 女女同性女同一区二区三区91| 亚洲精品国精品久久99热一 | 91久久精品国产91久久性色| 欧美日韩国产欧| 午夜精品国产| 在线观看视频一区二区| 欧美日韩一区不卡| 欧美一区二区三区视频免费| 亚洲福利视频免费观看| 欧美视频在线观看免费网址| 欧美一区二区日韩| 亚洲激情第一区| 国产精品久久91| 久久深夜福利免费观看| 99视频精品全部免费在线| 国产欧美一区二区白浆黑人| 欧美.www| 西瓜成人精品人成网站| 亚洲国产精品国自产拍av秋霞| 欧美日韩一区二区三区在线视频| 欧美一区免费| 亚洲精品影视在线观看| 国产欧美在线视频| 欧美国产一区在线| 欧美中文字幕在线| 99国产精品视频免费观看一公开| 国产欧美日韩91| 欧美喷潮久久久xxxxx| 欧美在线观看一二区| 一区二区三区精品国产| 一区二区在线观看视频在线观看| 欧美三区在线| 欧美阿v一级看视频| 翔田千里一区二区| 日韩亚洲在线| 伊甸园精品99久久久久久| 国产精品久久久一区麻豆最新章节 | 一本色道久久综合亚洲精品不卡 | 国产精品成人一区二区网站软件 | 欧美日韩国产综合新一区| 久久久精品国产免费观看同学| 亚洲少妇自拍| 亚洲片在线资源| 国产一区三区三区| 国产精品免费网站在线观看| 欧美国产日韩亚洲一区| 久久久久久久一区二区| 亚洲在线视频观看| 亚洲免费观看| 在线不卡中文字幕播放| 国产欧美日韩视频| 欧美三级乱人伦电影| 欧美成人免费视频| 久久久久久网站| 欧美一级大片在线免费观看| 一区二区动漫| 红桃视频成人| 国产亚洲成人一区| 国产精品三级视频| 国产精品国产三级国产专播品爱网 | 久久九九99视频| 亚洲欧美在线视频观看| 99精品国产99久久久久久福利| 亚洲国产精品t66y| 伊人蜜桃色噜噜激情综合| 国产午夜精品一区理论片飘花 | 国产日韩精品电影| 国产精品二区在线观看| 欧美男人的天堂| 欧美激情乱人伦| 嫩草国产精品入口| 久久在线免费观看| 久久理论片午夜琪琪电影网| 久久成人人人人精品欧| 亚洲欧美日韩一区二区| 中文一区字幕| 在线天堂一区av电影| 99热这里只有成人精品国产| 亚洲精品一级| 亚洲精品一二三区| 亚洲欧洲综合另类| 亚洲国产精品小视频| 亚洲第一主播视频| 亚洲国产精品va| 亚洲国产欧美另类丝袜| 亚洲第一区在线| 亚洲电影专区| 亚洲三级观看| 洋洋av久久久久久久一区|