• JS官方宣布:通过了groupBy方法的提案!
  • 发布于 2个月前
  • 212 热度
    0 评论
背景
不知道你们有没有遇到过这样的类似的需求,比如现在有以下的数据,我想要按照年龄 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!!!!!
用户评论