「代码片段」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://wdssmq.com/post/20231130787.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

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

相关文章

发表评论:

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

网站分类

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

搜索

本周旧文

wdssmq/blog-astro: 一个基于 Astro 的静态博客;

本质上,面临一个代码问题时,我们需要的是另一个人愿意为「你」的问题投入精力,并且有相应的技术知识。。

接上一条,Resilio Sync 换 Syncthing 感觉也是略大的工程。。Orz

去年 GoodSync 送了一年授权,然后也确实用上了;本来想着到期就换 Syncthing,结果前几天临期提醒,花 ¥381 续了三年 Orz,两者定位和使用姿势还是有些差别的。。更早是用 Resilio Sync 和 BCompare,但是前者内存占用太高,后者并不是自动同步的定位。。

2024 年了,姑且备份下嘟特存档。。

……,一个不知名的小众样式库 + 内联样式混写这种入坑姿势确实很有槽点,但是,「已经开始学」并且能够持续是绝对值得肯定的。。

在贴吧看过很多提问了,就有种错觉:好多人为了提一个问题专门注册了贴吧,问题本身可能得到有效回答,也可能没有(和提问的点及具体姿势有关。。但无论如何,之后就和注销了账号一样没有然后了,好像之后永远不用学相应的东西一样。。

《恶魔娃娃》

- 他们正研究你究竟是真正的大人,还是伪装成大人的小孩

- 我自己都研究很久了

乐高 DC 里,(基本就蝙蝠侠家,,年龄最小的那个无论是谁感觉人设都会变得一样 - -

所以,就感觉和祥林嫂一样,每天都需要向外「签到」自己的情绪感受,然而又并没有什么「需要」我这样的签到……

爱发电支持者

最新留言

友情链接