當前位置: 妍妍網 > 碼農

JS官方宣布:透過了groupBy方法的提案!開發效率又提升了~

2024-03-23碼農

模擬面試、簡歷指導、入職指導、計畫指導、答疑解惑 可私信找我~已幫助100+名同學完成改造!

前言


大家好,我是林三心,用最通俗易懂的話講最難的知識點是我的座右銘,基礎是進階的前提是我的初心~

背景

不知道你們有沒有遇到過這樣的類似的需求,比如現在有以下的數據,我想要按照年齡 age 欄位,給這些數據分個組,那你們會怎麽做呢?

其實可以直接使用 reduce 這個陣列方法去做,就可以實作我們想要的效果

但是有一個 lodash 的方法,叫 groupBy ,可以很簡單做到我們想要的效果

這個方法很好用,但他是 lodash 的方法,而不是原生的,要是他是原生的就好了~~

背景

不知道你們有沒有遇到過這樣的類似的需求,比如現在有以下的數據,我想要按照年齡 age 欄位,給這些數據分個組,那你們會怎麽做呢?

其實可以直接使用 reduce 這個陣列方法去做,就可以實作我們想要的效果

但是有一個 lodash 的方法,叫 groupBy ,可以很簡單做到我們想要的效果

這個方法很好用,但他是 lodash 的方法,而不是原生的,要是他是原生的就好了~~

原生支持 -> Object.groupBy

然而,原生已經支持了這個方法!!!在 Object 身上!請看下方的程式碼,但是需要在 谷歌瀏覽器 117 以上的版本 才能執行

同時也支持了 Map.groupBy 這個方法,但是我感覺這個方法不太實用。。。。。

這個方法,目前處於 Stage-3 階段,需要谷歌 117 以上的版本才能使用這個方法, Stage-3 就是候選的意思,這些方法的提案分為幾個階段

  • Stage 0 - Strawman (草案階段): 這是提案的初始階段,通常是一些初步的想法或建議。這些提案還沒有得到正式的討論和接受。

  • Stage 1 - Proposal (提案階段): 在這個階段,提案已經經過了初步的討論,並且有了詳細的說明。它們通常由一個或多個TC39委員會成員送出,並等待進一步的審查和反饋。

  • Stage 2 - Draft (草案階段): 在這個階段,提案已經經過了初步的審查,包括語法和語意方面的考慮。提案可能會在這個階段進行一些修改和改進。

  • Stage 3 - Candidate (候選階段): 當提案達到這個階段時,它們被認為是成熟的,可以被實施到JavaScript引擎中。這通常包括詳細的規範文件和實際的參考實作。

  • Stage 4 - Finished (完成階段): 這是提案的最終階段,表示它們已經被正式接受為ECMAScript標準的一部份,可以在各種JavaScript環境中廣泛使用。

  • 期待不久的將來,這個方法能到 Stage 4 階段,並在計畫中廣泛使用!!!!牛bi!!!!!

    結語

    我是林三心

  • 一個待過 小型toG型外包公司、大型外包公司、小公司、潛力型創業公司、大公司 的作死型前端選手;

  • 一個偏前端的全幹工程師;

  • 一個不正經的金塊作者;

  • 逗比的B站up主;

  • 不帥的小紅書博主;

  • 喜歡打鐵的籃球菜鳥;

  • 喜歡歷史的乏味少年;

  • 喜歡rap的五音不全弱雞如果你想一起學習前端,一起摸魚,一起研究簡歷最佳化,一起研究面試進步,一起交流歷史音樂籃球rap,可以來俺的摸魚學習群哈哈,點這個,有7000多名前端小夥伴在等著一起學習哦 -->

  • 廣州的兄弟可以約飯哦,或者約球~我負責打鐵,你負責進球,謝謝~