该用途:存储一组无序、唯一的值,可以用于去重、过滤和排序等操作。
1.创建一个空的Set实例。
const myset = new set();
2.使用add()方法向Set中添加元素。
mySet.add("Apple");
mySet.add("Banana");
mySet.add("Orange");
3.Set中元素的顺序是无序的,但每个元素都是唯一的。
console.log(mySet); // 输出:Set { 'Apple', 'Banana', 'Orange' }
4.您可以使用size属性获取Set中元素的数量。
console.log(mySet.size); // 输出:3
5.使用has()方法检查Set是否包含指定的元素。
console.log(mySet.has("Banana")); // 输出:true
console.log(mySet.has("Grapes")); // 输出:false
6.使用delete()方法从Set中删除指定的元素。
mySet.delete("Orange");
console.log(mySet); // 输出:Set { 'Apple', 'Banana' }
7.使用clear()方法清空整个Set。
mySet.clear();
console.log(mySet); // 输出:Set {}
8. 遍历Set: 使用Set的forEach()方法可以遍历Set中的每个元素。
const mySet = new Set([1, 2, 3]);
mySet.forEach((value) => {
console.log(value);
});
9.将Set转换为数组(Array)。可以使用扩展运算符(...)或Array.from()方法将Set转换为数组。
const mySet = new Set([1, 2, 3, 4, 5]);
// 使用扩展运算符
const myArray = [...mySet];
// 使用Array.from()
const myArray = Array.from(mySet);
console.log(myArray); // 输出:[1, 2, 3, 4, 5]
10.将Set转换为字符串(String)。 可以先将Set转换为数组,然后使用数组的join()方法将其转换为字符串。
const mySet = new Set(["Apple", "Banana", "Orange"]);
const myArray = Array.from(mySet);
const myString = myArray.join(", ");
console.log(myString); // 输出:"Apple, Banana, Orange"
11.将Set转换为对象(Object)。可以先将Set转换为数组,然后使用reduce()方法将其转换为对象。
const mySet = new Set([
{ id: 1, name: "Apple" },
{ id: 2, name: "Banana" },
{ id: 3, name: "Orange" },
]);
const myArray = Array.from(mySet);
const myObject = myArray.reduce((obj, item) => {
obj[item.id] = item.name;
return obj;
}, {});
console.log(myObject); // 输出:{ 1: "Apple", 2: "Banana", 3: "Orange" }