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 值创立一个新的对象,失去不反复对象的数组。