Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js map 去重

作者:诸神之翼   发布日期:2026-03-01   浏览:87

// 使用 Map 去重数组中的对象

const arr = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 1, name: 'Alice' }, // 重复项
  { id: 3, name: 'Charlie' }
];

// 创建一个 Map 来存储唯一的对象
const map = new Map();
arr.forEach(item => {
  // 如果 Map 中没有该 id,则添加到 Map 中
  if (!map.has(item.id)) {
    map.set(item.id, item);
  }
});

// 将 Map 中的值转换为数组
const uniqueArr = Array.from(map.values());

console.log(uniqueArr);
// 输出:
// [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]

解释说明:

  1. 创建数组 arr:包含一些对象,其中有一些重复的对象(根据 id 判断)。
  2. 创建 Map 对象Map 是一种键值对数据结构,键必须是唯一的。我们使用 id 作为键,确保每个对象只出现一次。
  3. 遍历数组:使用 forEach 遍历数组中的每个对象,检查 Map 中是否已经存在相同的 id,如果不存在则将其添加到 Map 中。
  4. 转换为数组:使用 Array.from(map.values())Map 中的所有值(即唯一的对象)转换为数组。
  5. 输出结果:最终得到去重后的数组 uniqueArr

这种方式可以有效地去除数组中重复的对象,特别适用于对象中有唯一标识符(如 id)的情况。

上一篇:js 数字计算

下一篇:js 数组 map

大家都在看

js 数组打乱顺序

js 两个数组取交集

js 数组对象排序

js 对象数组排序

js 数组删掉第一个值

js fill

js 数组连接

js json数组

js 数组复制

js 复制数组

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站