怎么让自己的网站被百度收录,唐山网站开发公司,京东网上商城和京东有什么区别,中国企业建设网站目录 JavaScript中Set的操作和应用Set的基本操作创建Set添加元素删除元素判断元素是否存在获取Set的长度清空Set Set的遍历for...of循环forEach方法转换成数组后遍历使用Set的entries方法遍历 Set的应用数组去重判断两个数组是否有重复元素实现并集、交集和差集 总结 JavaScrip… 目录 JavaScript中Set的操作和应用Set的基本操作创建Set添加元素删除元素判断元素是否存在获取Set的长度清空Set Set的遍历for...of循环forEach方法转换成数组后遍历使用Set的entries方法遍历 Set的应用数组去重判断两个数组是否有重复元素实现并集、交集和差集 总结 JavaScript中Set的操作和应用
Set是ES6中新增的一种数据结构它类似于数组但是成员的值都是唯一的没有重复的值。Set本身是一个构造函数可以用来生成Set数据结构。
Set的基本操作
创建Set
可以通过以下两种方式来创建Set
// 通过Set构造函数创建
const set1 new Set([1, 2, 3]);
console.log(set1); // Set {1, 2, 3}// 直接创建一个空Set
const set2 new Set();添加元素
可以使用add方法向Set中添加元素
const set new Set();
set.add(1);
set.add(2);
set.add(3);
console.log(set); // Set {1, 2, 3}删除元素
可以使用delete方法删除Set中的元素
const set new Set([1, 2, 3]);
set.delete(2);
console.log(set); // Set {1, 3}判断元素是否存在
可以使用has方法判断Set中是否存在某个元素
const set new Set([1, 2, 3]);
console.log(set.has(2)); // true
console.log(set.has(4)); // false获取Set的长度
可以使用size属性获取Set的长度
const set new Set([1, 2, 3]);
console.log(set.size); // 3清空Set
可以使用clear方法清空Set中的所有元素
const set new Set([1, 2, 3]);
set.clear();
console.log(set); // Set {}Set的遍历
Set有四种遍历方法分别是
for…of循环
const set new Set([1, 2, 3]);
for (const item of set) {console.log(item);
}
// 1
// 2
// 3forEach方法
const set new Set([1, 2, 3]);
set.forEach(item {console.log(item);
});
// 1
// 2
// 3转换成数组后遍历
const set new Set([1, 2, 3]);
const arr [...set];
for (const item of arr) {console.log(item);
}
// 1
// 2
// 3使用Set的entries方法遍历
const set new Set([1, 2, 3]);
for (const [key, value] of set.entries()) {console.log(key, value);
}
// 1 1
// 2 2
// 3 3Set的应用
数组去重
由于Set中元素的值都是唯一的因此可以使用Set来实现数组去重
const arr [1, 2, 3, 2, 1];
const set new Set(arr);
const newArr [...set];
console.log(newArr); // [1, 2, 3]判断两个数组是否有重复元素
可以将两个数组转换成Set然后判断它们的交集是否为空
const arr1 [1, 2, 3];
const arr2 [2, 3, 4];
const set1 new Set(arr1);
const set2 new Set(arr2);
const intersection new Set([...set1].filter(item set2.has(item)));
console.log(intersection.size 0); // true实现并集、交集和差集
可以使用Set的方法来实现两个Set的并集、交集和差集
const set1 new Set([1, 2, 3]);
const set2 new Set([2, 3, 4]);// 并集
const union new Set([...set1, ...set2]);
console.log(union); // Set {1, 2, 3, 4}// 交集
const intersection new Set([...set1].filter(item set2.has(item)));
console.log(intersection); // Set {2, 3}// 差集
const difference new Set([...set1].filter(item !set2.has(item)));
console.log(difference); // Set {1}总结
Set是ES6中新增的一种数据结构它类似于数组但是成员的值都是唯一的没有重复的值。Set有基本的操作和遍历方法还可以用来实现数组去重、判断两个数组是否有重复元素以及实现并集、交集和差集等操作。