当前位置: 首页 > news >正文

JS 数组相同的key 进行合并

const data = [ { age: 1, name: 'zzz' }, { age: 2, name: 'ccc' }, { age: 1, name: 'bbb' }, { age: 3, name: 'aa' } ];

age相同的变成以下数据 data = [ { age: 1, name: 'zzz', names:['zzz','bbb'] }, { age: 2, name: 'ccc',names:[] }, { age: 3, name: 'aa',names:[] } ];

const grouped = data.reduce((acc, item) => {

          if (!acc[item.age]) {

              acc[item.age] = {

                age: item.age,

                name: item.name,

                names: [item.name]

              };

          } else {

            acc[item.age].names.push(item.name);

          }

          return acc;

        }, {});

        const result = Object.values(grouped);

          console.log(result,'---------结果');

相关文章:

  • 【强化学习】时间差分(Temporal Difference, TD)
  • OpenCv高阶(一)——图像金字塔(上采样、下采样)
  • 探秘AI(002)之“文心一言(文小言)”
  • Linux普通用户怎么切换为root用户
  • 如何避免论文内容被误认为是 AI 生成的?
  • 【第一天】 OSG初探——环境搭建与第一个3D窗口
  • 大模型的输出:温度对输出的影响
  • 开发效率提升200%——cursor
  • Windows Anaconda使用Sentence-BERT获取句子向量
  • 驱动-创建设备节点
  • Spring MVC与Spring Boot文件上传配置项对比
  • 什么是模型上下文协议(MCP)?
  • openEuler24.03 LTS下安装Flink
  • 搜索引擎是如何理解你的查询并提供精准结果的?
  • 学习笔记(C++篇)--- Day2
  • Rust 在汽车 MCU 编程中的进展及安全特性剖析
  • Zephyr、FreeRTOS、RT-Thread 任务创建对比分析
  • 项目范围蔓延的十大诱因及应对策略
  • 两台电脑之间实现文件互传-创建共享文件夹
  • 打破单一视角!融合红外和可见光,YOLO算法实现全天候无人机检测