「代码片段」JavaScript 数组的 reduce() 方法

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

刷贴吧时看到的一个需求示例,让 AI 写了下用的 reduce() 方法,之前只是大概知道有这么个东西,姑且借这个例子加深下印象。

文档

Array.prototype.reduce() - JavaScript | MDN

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

代码案例

(() => {
    const data = [
        { k: "a", v: 1 },
        { k: "a", v: 1 },
        { k: "a", v: 2 },
        { k: "a", v: 3 },

        { k: "b", v: 3 },
        { k: "b", v: 3 },
        { k: "b", v: 2 },

        { k: "c", v: 2 },
        { k: "c", v: 1 },
        { k: "c", v: 1 },
    ];
    /* 转换成如下格式
        [
            { k: "a", v: [1, 2, 3] },
            { k: "b", v: [3, 2] },
            { k: "c", v: [2, 1] }
        ];
     */
    const result = data.reduce((acc, cur) => {
        const { k, v } = cur;
        const index = acc.findIndex(item => item.k === k);
        if (index === -1) {
            acc.push({ k, v: [v] });
        } else {
            acc[index].v.push(v);
            // 去重,AI 还是会时不时无视一些明明显式声明的要求。。- -
            acc[index].v = [...new Set(acc[index].v)];
        }
        return acc;
    }, []);

    console.log(result);
})();

结束

虽然有点水,但是好像也没啥好说的。。

一些其他文章:


爱发电

本文标题:《「代码片段」JavaScript 数组的 reduce() 方法》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20231130787.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

其实,在认知意义上,焦虑时我知道这种情绪对应「焦虑」这个文法词汇,此外还有「压抑」「悲伤」等等,然而「抑郁」其实是个我认知体系外的词,虽然经常一些情绪感受我找不到对应的语言词汇来表述,却也只能将其实表述为「找不到对应的语言词汇来表述」的某些感受。。

所以,我所面对的问题又可以明确向哪里寻求帮助呢?

爱发电支持者

最新留言

友情链接