一、JS的set对象的基本用法
javaScript 的 Set 类型表示一组不重复的值,每个值都叫作一个集合元素。
JavaScript 中有两种方式可以创建 Set:
const set1 = new Set(); const set2 = new Set([1, 2, 3, 4, 5]);
第一种方式创建了一个空的 Set,而第二种方式创建了一个包含 5 个元素的 Set。
你可以使用 set.add(value)
方法向 Set 中添加元素。
如果你想知道 Set 中是否包含某个值,可以使用 set.has(value)
方法。
例如:
const set = new Set([1, 2, 3, 4, 5]); set.add(6); console.log(set.has(6)); // true set.delete(5); console.log(set.has(5)); // false
另外,你还可以使用 set.size
属性获取 Set 中元素的个数,或者使用 set.clear()
方法清空 Set。
下面是一个完整的例子,它使用了 Set 的多种方法:
const set = new Set(); console.log(set.size); // 0 set.add(1); set.add(2); set.add(3); console.log(set.has(1)); // true console.log(set.has(4)); // false console.log(set.size); // 3 set.delete(2); console.log(set.has(2)); // false set.clear(); console.log(set.size); // 0
请注意,Set 中的元素是无序的,且不能重复。
因此,Set 在某些情况下会比数组更加方便和有用。
例如,你可以使用 Set 快速判断一组数据中是否包含重复项。
让人惊讶的是它能上下文联想!继续往下回答问题,就像真人那样!
接着我让它给我写个如何快速判断包含重复项的方法。
二、使用 Set 快速判断一组数据中是否包含重复项
可以使用 Set 的 add()
方法快速判断一组数据中是否包含重复项。
举个例子,如果你想判断一个数组是否包含重复项,可以这样写:
const arr = [1, 2, 3, 4, 5, 1]; const set = new Set(arr); if (set.size !== arr.length) { console.log('The array contains duplicate items'); } else { console.log('The array does not contain duplicate items'); }
在这个例子中,我们将数组传递给 Set 的构造函数,然后使用 set.size
属性来比较 Set 和数组的长度。
如果两者长度不同,则说明数组中包含重复项。
如果你想获取数组中的重复项,可以这样写:
const arr = [1, 2, 3, 4, 5, 1]; const set = new Set(arr); const duplicates = arr.filter(item => !set.has(item)); console.log(duplicates); // [1]
在这个例子中,我们再次将数组传递给 Set 的构造函数,然后使用 filter()
方法和 set.has()
方法来获取数组中的重复项。
这是一个非常简单、简洁的方法,可以快速查找一组数据中的重复项。
你能想到以上回答都是一个人工智能写出来的吗?他完全就可以替代搜索引擎还能充当一个专业导师的角色!
如果你对web前端开发、面试感兴趣的话可以加V。群里有各种学习资源发放,免费答疑,更有行业深潜多年的技术牛人分析讲解。