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

js 查找数组对象中id相同的元素,把他们放到新数组对象中

js 查找数组对象中id相同的元素,把他们放到新数组对象中

可以使用JavaScript中的Array.prototype.reduce方法来实现这个功能。以下是一个示例代码:

const items = [{ id: 1, name: '张三',age:'16' },{ id: 2, name: '李四',age:'20' },{ id: 1, name: '张三',age:'17' },{ id: 3, name: '王二',age:'21' },{ id: 1, name: '张三',age:'18' }
];const groupedById = items.reduce((acc, item) => {const existingGroupWithId = acc.find(group => group.id === item.id);if (existingGroupWithId) {existingGroupWithId.items.push(item);} else {acc.push({ id: item.id, items: [item] });}return acc;
}, []);console.log(groupedById);

这段代码会输出一个新数组,其中的每个对象都包含一个id和一个items数组,items数组包含所有具有相同id的元素。在这个例子中,输出将是:

[{"id": 1,"name": "张三","items": [{"id": 1,"name": "张三","age": "16"},{"id": 1,"name": "张三","age": "17"},{"id": 1,"name": "张三","age": "18"}]},{"id": 2,"name": "李四","items": [{"id": 2,"name": "李四","age": "20"}]},{"id": 3,"name": "王二","items": [{"id": 3,"name": "王二","age": "21"}]}
]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【系统架构设计师】管道-过滤器架构
  • 【Redis】Redis 主从复制原理与配置详解:解决单点故障与性能瓶颈的最佳方案
  • c++的初始化列表与const成员
  • python(进阶2)实现自动化注册和登录
  • 漫谈设计模式 [17]:状态模式
  • ✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降
  • Windows本地制作nginx证书
  • python中的循环结构
  • MonoHuman: Animatable Human Neural Field from Monocular Video 精读
  • 树莓派5_opencv笔记27:Opencv录制视频(无声音)
  • 使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统
  • v0.dev快速开发
  • 两数之和--力扣1
  • JS手写实现深拷贝
  • 深入探究 Spring 的扫描原理
  • python3.6+scrapy+mysql 爬虫实战
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • canvas 五子棋游戏
  • Computed property XXX was assigned to but it has no setter
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java精华积累:初学者都应该搞懂的问题
  • MYSQL 的 IF 函数
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • pdf文件如何在线转换为jpg图片
  • Python socket服务器端、客户端传送信息
  • SQLServer插入数据
  • Swoft 源码剖析 - 代码自动更新机制
  • Webpack 4 学习01(基础配置)
  • 记一次删除Git记录中的大文件的过程
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 前端性能优化——回流与重绘
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 写代码的正确姿势
  • 与 ConTeXt MkIV 官方文档的接驳
  • 转载:[译] 内容加速黑科技趣谈
  • 最近的计划
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #### go map 底层结构 ####
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #define
  • #HarmonyOS:Web组件的使用
  • (003)SlickEdit Unity的补全
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (CPU/GPU)粒子继承贴图颜色发射
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (七)Knockout 创建自定义绑定
  • (四)JPA - JQPL 实现增删改查
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)我也是一只IT小小鸟
  • (转载)PyTorch代码规范最佳实践和样式指南