// 使用 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' } ]
arr:包含一些对象,其中有一些重复的对象(根据 id 判断)。Map 对象:Map 是一种键值对数据结构,键必须是唯一的。我们使用 id 作为键,确保每个对象只出现一次。forEach 遍历数组中的每个对象,检查 Map 中是否已经存在相同的 id,如果不存在则将其添加到 Map 中。Array.from(map.values()) 将 Map 中的所有值(即唯一的对象)转换为数组。uniqueArr。这种方式可以有效地去除数组中重复的对象,特别适用于对象中有唯一标识符(如 id)的情况。
上一篇:js 数字计算
下一篇:js 数组 map
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站