精品视频日韩无码,伊人久久无码av一区二区三区,久久艹视频国产视频,欧美成A人免费观看久久

  1. <tt id="u23fe"><i id="u23fe"><sub id="u23fe"></sub></i></tt>

      <b id="u23fe"><address id="u23fe"><kbd id="u23fe"></kbd></address></b>

      <source id="u23fe"><track id="u23fe"></track></source>
    1. 位置: IT常識 - 正文

      【JS】js數(shù)組分組,javascript實(shí)現(xiàn)數(shù)組的按屬性分組(js數(shù)組分組并排序)

      編輯:rootadmin
      【JS】js數(shù)組分組,javascript實(shí)現(xiàn)數(shù)組的按屬性分組

      推薦整理分享【JS】js數(shù)組分組,javascript實(shí)現(xiàn)數(shù)組的按屬性分組(js數(shù)組分組并排序),希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。

      文章相關(guān)熱門搜索詞:js數(shù)組分隔符,js數(shù)組分割方法,js 數(shù)組切分,js將數(shù)組分割為新的數(shù)組,js 數(shù)組切分,js數(shù)組分隔符,js數(shù)組分隔符,js數(shù)組分組,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!

      項(xiàng)目代碼中有很多時候需要按一定的條件實(shí)現(xiàn)按屬性分組

      1、forEach實(shí)現(xiàn)let arr = [ {name: '張三', age: 18}, {name: '李四', age: 20}, {name: '王五', age: 18}, {name: '趙六', age: 20}, {name: '孫七', age: 21},];let obj = {};arr.forEach(item => { if (!obj[item.age]) { obj[item.age] = []; } obj[item.age].push(item);});console.log(obj);// {// 18: [{name: '張三', age: 18}, {name: '王五', age: 18}],// 20: [{name: '李四', age: 20}, {name: '趙六', age: 20}],// 21: [{name: '孫七', age: 21}],// }2、reduce實(shí)現(xiàn)

      你可以使用JavaScript的 Array.prototype.reduce() 方法來將數(shù)組分組。這是一種高級的方法,它可以將數(shù)組元素組合成一個單值。在這種情況下,你可以使用它來把數(shù)組元素放到一個對象中,其中對象的鍵是分組的條件,值是所有滿足條件的元素組成的數(shù)組。

      例如,假設(shè)你有一個數(shù)組,其中包含了若干個人的信息,你想按照性別來分組:

      const people = [{ name: 'Alice', gender: 'female' }, { name: 'Bob', gender: 'male' }, { name: 'Charlie', gender: 'male' }, { name: 'Diana', gender: 'female' },];const groups = people.reduce((groups, person) => { const key = person.gender; if (!groups[key]) { groups[key] = []; } groups[key].push(person); return groups;}, {});console.log(groups);// Output:// {// female: [// { name: 'Alice', gender: 'female' },// { name: 'Diana', gender: 'female' },// ],// male: [// { name: 'Bob', gender: 'male' },// { name: 'Charlie', gender: 'male' },// ],// }

      上面的代碼使用了 reduce() 方法,它接受一個回調(diào)函數(shù)和一個初始值?;卣{(diào)函數(shù)的參數(shù)分別是每次遍歷時的累計(jì)值(也就是 groups 變量)和當(dāng)前元素(也就是 person 變量)。每次遍歷時,回調(diào)函數(shù)都會返回一個新的累計(jì)值。在這個例子中,累計(jì)值是一個對象,它

      4、對沒有屬性名的數(shù)組進(jìn)行分組

      要將數(shù)組中的元素按照一定的規(guī)則分成多組,可以使用 JavaScript 中的 Array.prototype.reduce() 方法。

      【JS】js數(shù)組分組,javascript實(shí)現(xiàn)數(shù)組的按屬性分組(js數(shù)組分組并排序)

      例如,假設(shè)你有一個數(shù)組,要將它按照奇偶性分成兩組,可以這樣寫:

      const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];const groupBy = (arr, fn) => arr.reduce((acc, el) => { const key = fn(el); if (!acc[key]) { acc[key] = []; } acc[key].push(el); return acc; }, {});const groups = groupBy(numbers, (n) => (n % 2 === 0 ? 'even' : 'odd'));console.log(groups);// Output:// {// even: [2, 4, 6, 8],// odd: [1, 3, 5, 7, 9]// }

      在上面的代碼中,我們定義了一個函數(shù) groupBy,它接受兩個參數(shù):要分組的數(shù)組和一個函數(shù),該函數(shù)根據(jù)元素的某個屬性或特征返回一個唯一的鍵。然后,我們使用 reduce() 方法遍歷數(shù)組中的所有元素,并根據(jù)返回的鍵將它們分組到累加器對象中。

      你也可以使用這種方法將數(shù)組中的元素按照任何你喜歡的規(guī)則分組,只需要更改分組函數(shù)即可。

      4、對具有屬性名的數(shù)組進(jìn)行分組

      要對數(shù)組進(jìn)行分組,你可以使用以下方法之一:

      1.使用 reduce() 方法:function groupBy(arr, key) { return arr.reduce((acc, curr) => { (acc[curr[key]] = acc[curr[key]] || []).push(curr); return acc; }, {});}

      使用方法:

      const people = [ { name: 'Alice', age: 21 }, { name: 'Bob', age: 22 }, { name: 'Charlie', age: 23 }, { name: 'Dave', age: 24 }, { name: 'Eve', age: 22 },];const groupedPeople = groupBy(people, 'age');console.log(groupedPeople);// 打印結(jié)果:// {// 21: [{ name: 'Alice', age: 21 }],// 22: [{ name: 'Bob', age: 22 },{ name: 'Eve', age: 25 }],// 23: [{ name: 'Charlie', age: 23 }],// 24: [{ name: 'Dave', age: 24 }],// }2.使用 map() 和 reduce() 方法:function groupBy(arr, key) { return arr.map(item => item[key]).reduce((acc, curr, i) => { acc[curr] = acc[curr] || []; acc[curr].push(arr[i]); return acc; }, {});}

      使用方法與第一種方法相同。

      請注意,這些方法都是基于原始數(shù)組進(jìn)行分組,并創(chuàng)建一個新對象,該對象具有將數(shù)組中每個元素分組到相應(yīng)分組中的屬性。 如果要在原始數(shù)組上進(jìn)行分組,則可以使用以下方法之一:

      使用 Array.prototype.forEach() 方法:

      function groupBy(arr, key) { arr.forEach(item => { item[key] = item[key] || []; item[key].push(item); });}

      使用方法:

      const people = [ { name: 'Alice', age: 21 }, { name: 'Bob', age: 22 }, { name: 'Charlie', age: 23 }, { name: 'Dave', age: 24 }, { name: 'Eve', age: 22 },];groupBy(people, 'age');console.log(people);// 打印結(jié)果:// [// { name: 'Alice', age: 21, ageGroup: [{ name: 'Alice', age: 21 }] },// { name: 'Bob', age: 22, ageGroup: [{ name: 'Bob', age: 22 }] },// { name: 'Charlie', age: 23, ageGroup: [{ name: 'Charlie', age: 23 }] },// { name: 'Dave', age: 24, ageGroup: [{ name: 'Dave', age: 24 }] },// { name: 'Eve', age: 25, ageGroup: [{ name: 'Eve', age: 25 }] }// ]3. 使用 map() 方法:function groupBy(arr, key) { return arr.map(item => { item[key] = item[key] || []; item[key].push(item); return item; });}

      使用方法與第一種方法相同。 請注意,這些方法都是基于原始數(shù)組進(jìn)行分組,并將每個元素分組到原始數(shù)組中的相應(yīng)元素中。 如果要創(chuàng)建新數(shù)組,請使用第一二種方法。

      本文鏈接地址:http://esstyw.cn/zhishi/298897.html 轉(zhuǎn)載請保留說明!

      上一篇:Torch計(jì)算方法(torch測定)

      下一篇:視覺SLAM總結(jié)——SuperPoint / SuperGlue(視覺slam ba)

    2. 如何將華為手機(jī)天氣F改為C(如何將華為手機(jī)照片導(dǎo)入電腦)

      如何將華為手機(jī)天氣F改為C(如何將華為手機(jī)照片導(dǎo)入電腦)

    3. 惠普510打印機(jī)怎么連接wifi(惠普510打印機(jī)怎樣清洗噴頭)

      惠普510打印機(jī)怎么連接wifi(惠普510打印機(jī)怎樣清洗噴頭)

    4. b站hd版和普通版的區(qū)別(b站hd和普通有什么區(qū)別)

      b站hd版和普通版的區(qū)別(b站hd和普通有什么區(qū)別)

    5. 小愛音箱怎么連接微信(小愛音箱怎么連接空調(diào))

      小愛音箱怎么連接微信(小愛音箱怎么連接空調(diào))

    6. 蘋果7相當(dāng)于驍龍什么(蘋果7相當(dāng)于驍龍)

      蘋果7相當(dāng)于驍龍什么(蘋果7相當(dāng)于驍龍)

    7. 4g下載速度一般是多少(4g下載速率多少)

      4g下載速度一般是多少(4g下載速率多少)

    8. 小米9后蓋碎了(小米9后蓋碎了有必要去修嗎)

      小米9后蓋碎了(小米9后蓋碎了有必要去修嗎)

    9. 三星s10有5g版本嗎(三星s10有5g嘛)

      三星s10有5g版本嗎(三星s10有5g嘛)

    10. 蘋果手表可以外放音樂嘛(蘋果手表可以外放QQ音樂嗎)

      蘋果手表可以外放音樂嘛(蘋果手表可以外放QQ音樂嗎)

    11. 手機(jī)屏幕出現(xiàn)彩色條紋怎么自修(手機(jī)屏幕出現(xiàn)彩色豎線還能用多久)

      手機(jī)屏幕出現(xiàn)彩色條紋怎么自修(手機(jī)屏幕出現(xiàn)彩色豎線還能用多久)

    12. 淘寶企業(yè)店鋪和天貓的區(qū)別(淘寶企業(yè)店鋪和普通店鋪的區(qū)別)

      淘寶企業(yè)店鋪和天貓的區(qū)別(淘寶企業(yè)店鋪和普通店鋪的區(qū)別)

    13. 為什么抖音不能拉進(jìn)度(為什么抖音不能用qq登錄)

      為什么抖音不能拉進(jìn)度(為什么抖音不能用qq登錄)

    14. 淘寶發(fā)票怎么下載(淘寶發(fā)票怎么下載pdf)

      淘寶發(fā)票怎么下載(淘寶發(fā)票怎么下載pdf)

    15. 華為榮耀9青春版支持type-c接口嗎(華為榮耀9青春版)

      華為榮耀9青春版支持type-c接口嗎(華為榮耀9青春版)

    16. 華為手機(jī)怎么開熱點(diǎn)(華為手機(jī)怎么開啟存儲權(quán)限)

      華為手機(jī)怎么開熱點(diǎn)(華為手機(jī)怎么開啟存儲權(quán)限)

    17. 三星a9080是什么型號(三星a9080什么時候上市的)

      三星a9080是什么型號(三星a9080什么時候上市的)

    18. 表格如何轉(zhuǎn)換為文本(表格如何轉(zhuǎn)換為在線編輯)

      表格如何轉(zhuǎn)換為文本(表格如何轉(zhuǎn)換為在線編輯)

    19. 分配器怎樣調(diào)快慢視頻(分配器提升慢怎么調(diào))

      分配器怎樣調(diào)快慢視頻(分配器提升慢怎么調(diào))

    20. 惠普126nw和132nw區(qū)別(惠普126nw和132nw和132snw)

      惠普126nw和132nw區(qū)別(惠普126nw和132nw和132snw)

    21. pdsch是什么信道(pdcch信道共有多少種dci格式)

      pdsch是什么信道(pdcch信道共有多少種dci格式)

    22. 抖音怎么禁止別人下載(抖音怎么禁止別人私信我)

      抖音怎么禁止別人下載(抖音怎么禁止別人私信我)

    23. 360極速瀏覽器如何設(shè)置自動刷新(360極速瀏覽器如何倍速播放)

      360極速瀏覽器如何設(shè)置自動刷新(360極速瀏覽器如何倍速播放)

    24. qq空間如何打賞紅包(qq空間如何打賞主播)

      qq空間如何打賞紅包(qq空間如何打賞主播)

    25. Win11又出現(xiàn)BUG 輸入法不顯示選字框(附解決方法)(win 11 bug)

      Win11又出現(xiàn)BUG 輸入法不顯示選字框(附解決方法)(win 11 bug)

    26. windows10開始菜單失靈及異常的解決方法(Windows10開始菜單透明)

      windows10開始菜單失靈及異常的解決方法(Windows10開始菜單透明)

    27. 〖大前端 - 基礎(chǔ)入門三大核心之 html 篇⑩〗- 圖片標(biāo)簽(大前端2021)

      〖大前端 - 基礎(chǔ)入門三大核心之 html 篇⑩〗- 圖片標(biāo)簽(大前端2021)

    28. 應(yīng)付賬款支付時需要付款申請單嗎
    29. 稅務(wù)師職業(yè)考試
    30. 培訓(xùn)個人所得稅計(jì)算
    31. 出租房屋收取的水電費(fèi)如何記賬
    32. etc扣費(fèi)與發(fā)票不符
    33. 個體戶未抄報(bào)不能領(lǐng)發(fā)票
    34. 房產(chǎn)稅的納稅義務(wù)
    35. 輔導(dǎo)期一般納稅人什么意思
    36. 企業(yè)銷售贈券的增值稅如何處理
    37. 開辦費(fèi)一次性攤銷企業(yè)所得稅
    38. 來料加工復(fù)出口增值稅政策
    39. 企業(yè)所得稅彌補(bǔ)虧損年限
    40. 營改增的會計(jì)分錄
    41. 專用發(fā)票和普通發(fā)票費(fèi)率
    42. 房產(chǎn)稅申報(bào)后多久繳納稅款
    43. 免稅的銷售額要怎么填入報(bào)表
    44. 銷售營改增之后取得的固定資產(chǎn)
    45. 全年一次性獎金稅收優(yōu)惠政策2024
    46. 股權(quán)激勵技術(shù)入股的最新政策
    47. 收到未抵扣的紅字發(fā)票
    48. 工費(fèi)經(jīng)費(fèi)用計(jì)提嗎
    49. 代為持股有沒有法律效應(yīng)
    50. 用銀行存款繳納上月所得稅分錄
    51. 固定資產(chǎn)入賬包括稅額嗎
    52. 跨省增值稅專用發(fā)票可以抵扣嗎
    53. 偶然所得怎么繳納個人所得稅免稅
    54. 發(fā)出委托加工物資
    55. 分公司可以獨(dú)立訴訟嗎
    56. php開源軟件
    57. linux中nano什么指令
    58. 360devm.sys是什么文件
    59. php自學(xué)
    60. php枚舉類
    61. 農(nóng)產(chǎn)品銷售發(fā)票抵扣政策
    62. 非貨幣性資產(chǎn)交換
    63. 接受贈品的賬務(wù)處理流程
    64. php請求https
    65. 定額發(fā)票怎么查詢經(jīng)營范圍
    66. 應(yīng)收票據(jù)影響現(xiàn)金流嗎
    67. 其他債權(quán)投資減值可以轉(zhuǎn)回嗎
    68. 企業(yè)所得稅季初數(shù)怎么填
    69. framework教程
    70. 住宅專項(xiàng)維修資金是什么
    71. ps怎么旋轉(zhuǎn)某個圖形快捷鍵
    72. 無形資產(chǎn)和固定資產(chǎn)減值準(zhǔn)備可以轉(zhuǎn)回嗎
    73. 織夢怎么調(diào)用當(dāng)前欄目下的文章
    74. 織夢是啥
    75. 法人給對公賬戶轉(zhuǎn)賬
    76. 利息收入為什么沖減財(cái)務(wù)費(fèi)用
    77. 營業(yè)外收入在匯算申報(bào)表與一般收入表不一致
    78. 公司剛成立沒有員工需要申報(bào)個稅嗎
    79. 小規(guī)模納稅人附加稅怎么算
    80. sql數(shù)據(jù)對比語句
    81. 股本減少是利好嗎
    82. 應(yīng)交稅費(fèi)未交增值稅借方表示什么
    83. 私募基金公司收入高嗎
    84. 以非貨幣形式出資應(yīng)辦理什么手續(xù)
    85. 貨代代繳增值稅關(guān)稅如何做賬
    86. 融資租賃怎么開收據(jù)
    87. sql行變列有幾種方法
    88. 如何進(jìn)行節(jié)約
    89. 微軟為什么放棄win10
    90. xp系統(tǒng)如何刪除用戶
    91. win10 windows update在哪里打開
    92. linux查看sh
    93. win7打不開網(wǎng)頁,可以重裝系統(tǒng)嗎
    94. WIN10系統(tǒng)中軟件打開找不到網(wǎng)絡(luò)共享盤
    95. cocos怎么用
    96. OpenGL ES2.0-iPhone開發(fā)-part1
    97. linux 壓縮解壓縮
    98. unity碰撞抖動怎么解決
    99. javascript入門教程
    100. python enumeration
    101. python文件的讀操作方法
    102. 國家稅務(wù)總局石棉縣稅務(wù)局
    103. 稅控盤反寫后才能開票嗎
    104. 合肥稅務(wù)網(wǎng)幾時成立的
    105. 珠海自助征信查詢機(jī)
    106. 上海市黃浦區(qū)有什么路
    107. 地稅局的全稱是什么
    108. 免責(zé)聲明:網(wǎng)站部分圖片文字素材來源于網(wǎng)絡(luò),如有侵權(quán),請及時告知,我們會第一時間刪除,謝謝! 郵箱:opceo@qq.com

      鄂ICP備2023003026號

      網(wǎng)站地圖: 企業(yè)信息 工商信息 財(cái)稅知識 網(wǎng)絡(luò)常識 編程技術(shù)

      友情鏈接: 武漢網(wǎng)站建設(shè)