当前位置: 欣欣网 > 码农

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多名前端小伙伴在等着一起学习哦 -->

  • 广州的兄弟可以约饭哦,或者约球~我负责打铁,你负责进球,谢谢~