Set数据结构
Set 是 ES6 中引入的一种新的数据结构,它是一种汇合,能够存储任意类型的数据Set 每个元素的值在汇合中是惟一的。应用 Set 数据结构能够不便地去除数组或对象中的反复元素。
利用场景
// 1 数组去重const arr = [1, 2, 3, 2, 1];const set = new Set(arr);const newArr = Array.from(set); // newArr = [1, 2, 3]// 2 对象去重const arr = [{ id: 1 }, { id: 2 }, { id: 1 }, { id: 3 }];const set = new Set(arr.map(item => item.id));const newArr = Array.from(set, id => ({ id })); // newArr = [{ id: 1 }, { id: 2 }, { id: 3 }]
在下面的代码中,咱们首先应用 Array.map 将数组中的对象映射为它们的 id 值,而后应用 new Set 去除反复的 id 值。最初,咱们应用 Array.from 将汇合转换为对象数组,并依据每个 id 值创立一个新的对象,失去不反复对象的数组。