js list 根据id 取不重复的数据,出现重复的完全剔除

2023-11-10

可以使用Set数据结构来实现根据id取不重复的数据,并剔除重复的数据。

假设有一个包含多个对象的数组arr,每个对象都有一个id属性,你可以按照以下步骤进行操作:

  1. 创建一个空的Set对象,用于存储不重复的id。
  2. 使用forEach()方法遍历数组arr。
  3. 在遍历过程中,使用Set的add()方法将每个对象的id属性添加到Set中。
  4. 创建一个新的数组result,用于存储不重复的数据。
  5. 使用forEach()方法遍历数组arr。
  6. 在遍历过程中,使用Set的has()方法判断当前对象的id是否已经存在于Set中,如果不存在,则将当前对象添加到result中。
  7. 返回result数组,即为根据id取不重复的数据,并剔除重复的数据。

以下是一个完整的示例代码:

Copy

const arr = [
  { id: 1, name: "A" },
  { id: 2, name: "B" },
  { id: 1, name: "C" },
  { id: 3, name: "D" },
  { id: 2, name: "E" }
];

const uniqueData = () => {
  const idSet = new Set();
  const result = [];

  arr.forEach(obj => {
    idSet.add(obj.id);
  });

  arr.forEach(obj => {
    if (!idSet.has(obj.id)) {
      result.push(obj);
    }
  });

  return result;
};

console.log(uniqueData());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

js list 根据id 取不重复的数据,出现重复的完全剔除 的相关文章

随机推荐

  • 若依前后端分离版本,Windows下使用Nginx代理的方式进行部署(全流程,图文教程)

    场景 若依官网 http doc ruoyi vip 前提 服务器上安装Mysql 并将数据库导入 在SpringBoot中的application druid yml配置mysql数据库连接 服务器安装Redis服务端 并在applica
  • 删除文件夹中的重复资源脚本

    usr bin python coding utf 8 import os base目录 path Users mulu1 install Model目录 path1 Users mulu2 def traverse f fs os lis
  • 第20章 通信—硬件 I2C

    一 关于I2C 1 1 I2C 控制器 STM32F103系列的I C控制器 可作为通信主机或从机 因此有四种工作模式可选择 主机发送模式 主机接收模式 从机发送模式 从机接收模式 传输速度上 支持标准模式 Standard mode 最高
  • 高仿QQ微信小程序,我趟过的坑

    距离微信小程序内测版发布已经有十天的时间了 网上对微信小程序的讨论也异常火爆 从发布到现在微信小程序一直占领着各种技术论坛的头条 当然各种平台也对微信小程序有新闻报道 毕竟腾讯在国内影响力还是很大的 我们都知道微信小程序第一天发布内测版 并
  • 遗传算法之二进制编码

    遗传算法的基本步骤 遗传算法 GA 的流程如图所示 Created with Rapha l 2 2 0 编码 把所需要选择的特征进行编号 每一个特征就是一个基因 一个解就是一串基因的组合 为了减少组合数量 在图像中进行分块 然后把每一块看
  • s1.1024gc.net/bbs/index.php,1.12.2游戏崩溃/_ \,那位大神解答一下

    1 12 2游戏崩溃 那位大神解答一下 1 12 2游戏崩溃的log 19 26 12 main INFO LaunchWrapper Loading tweak class name net minecraftforge fml comm
  • 【数据治理】数据中台:OneData之One ID中用户体系ID-Mapping

    在OneData 体系中 OneID 指统一数据萃取 是一套解决数据孤岛问题的思想和方法 数据孤岛是企业发展到一定阶段后普遍遇到的问题 各个部门 业务 产品 各自定义和存储其数据 使得这些数据间难以关联 变成孤岛一般的存在 OneID的做法
  • react输入框监听获取值,写入state自动一一对应

    onChange v gt this handlechange username v handlechange key val console log key val target value this setState key val t
  • JAVA之AES加密数据

    AES简介 高级加密标准 为最常见的对称加密算法 微信小程序加密传输就是用这个加密算法的 对称加密算法也就是加密和解密用相同的密钥 具体的加密流程如下图 为此以Java封装了一个utils 即可轻松使用 步骤一 需要定义一个静态密钥k ke
  • 获取时间段:本周、本月、本年

    case 本周内 DateTime retStartDay DateTime Now Date AddDays int DateTime Now DayOfWeek 1 DateTime retEndDay DateTime Now Dat
  • arp协议属于哪一层_OSI各个分层分别负责哪些功能?有哪些主要协议?涉及到哪些设备?...

    应用层 应用层主要是负责一些顶层协议的工作 主要包括数据封装协议 动态分配内网IP地址以及DNS域名解析 在这一层中主要是浏览器或应用程序等组件参与了这些工作 为了保证在不同平台或不同组件中规范和标准化各项工作流程 应用层涉及了以下协议 首
  • 如何 在 Mac OS X 里通过命令行获取 CPU 信息

    本文转载至 http osxdaily com 2011 07 15 get cpu info via command line in mac os x 转载说明 由于 Mac OS X不像Linux 它没有 proc系统 在网上找到下面一
  • 把整数转换成2的n次方的和数组

    为什么80 的码农都做不了架构师 gt gt gt 大概这样 125 gt 1 4 8 16 32 64 写几种实现 Ruby 2 3 1 022 gt 125 to s 2 reverse chars map with index b i
  • Github清除历史记录的方法

    GitHub历史提交记录累计到一定程度以后 就很麻烦 体积大下载不便 压缩也慢 这时候就想永久性地删除掉没什么卵用的历史commit记录 但还要保留stars forks issues tags等重要信息 因此不能删掉仓库重建一份 而要创建
  • windows10安装opencv4.5.4,搭配vs2017

    windows10安装opencv4 5 4 搭配vs2017 1 下载opencv安装包 2 安装opencv 2 设置环境变量 3 在visual studio 2017中配置opencv 3 1 创建项目 3 2 配置 VC 目录 包
  • CSMA/CD与CSMA/CA

    对照无线网络 有线网络的集线器和中继器设计中 採用了CSMA CD技术 该技术早期是用来解决有线网络中 共享介质下的多路网络接入问题 该技术仍然在当今的10M 100M半双工网络中使用 在更高的带宽情况下 比方千M网络 则採用全双工技术以取
  • 如何压缩图片大小?图片压缩到200k以下跟我学

    相信许多人在日常生活中都会遇到图片过大导致无法上传或发送的问题 这时候 如何有效地压缩图片大小就成了我们的必备技能 今天 我将为大家介绍三种方法 帮助大家轻松压缩图片大小 一般来说 我们希望在不损失太多图片质量的情况下 尽可能地减小图片的大
  • 滑动窗口系列4-Leetcode322题零钱兑换-限制张数-暴力递归到动态规划再到滑动窗口

    这个题目是Leecode322的变种 322原题如下 我们这里的变化是把硬币变成可以重复的 并且只有coins数组中给出的这么多的金币 也就是说有数量限制 package dataStructure leecode practice imp
  • 虚拟现实下的手势识别综述

    虚拟现实下的手势识别综述 目录 虚拟现实下的手势识别综述 摘要 关键词 1 引言 2 国内外研究现状 3 手势识别的关键技术 3 1手势分割 3 2手势建模 3 3手势识别 3 4特征提取 4 存在的问题及发展趋势 5 结论 参考文献 摘要
  • js list 根据id 取不重复的数据,出现重复的完全剔除

    可以使用Set数据结构来实现根据id取不重复的数据 并剔除重复的数据 假设有一个包含多个对象的数组arr 每个对象都有一个id属性 你可以按照以下步骤进行操作 创建一个空的Set对象 用于存储不重复的id 使用forEach 方法遍历数组a