ES6 Set24 Dec 2024 | 阅读 4 分钟 Set 是一种数据结构,允许您创建唯一值的集合。Set 是处理单个对象或单个值的集合。 Set 是类似于数组的集合,但它不包含任何重复项。它允许我们存储唯一值。它支持原始值和对象引用。 与 Map 类似,Set 也是有序的,即 Set 中的元素按其插入顺序进行迭代。它返回 Set 对象。 语法让我们通过以下示例了解 Set 的概念 示例Set 的所有元素都必须是唯一的。因此,上面示例中的 colors Set 仅包含四个不同的元素。在成功执行上述代码后,我们将获得以下输出。 输出 Set { 'Green', 'Red', 'Orange', 'Yellow' } 让我们看看 Set 的属性和方法。 Set 属性
Set.sizeSet 对象的此属性返回表示 Set 对象中元素数量的值。 示例 输出 4 Set { 'Green', 'Red', 'Orange', 'Yellow' } Set 方法Set 对象包含多种方法,如下表所示
现在,我们将详细了解上述 Set 对象的方法。 Set.prototype.add(value)此方法用于将新元素与现有值附加到 Set 对象。 示例 输出 7 Set { 'Green', 'Red', 'Orange', 'Yellow', 'Violet', 'Indigo', 'Blue' } Set.prototype.clear()它从 Set 中清除所有对象。 示例 输出 0 Set.prototype.delete(value)此方法用于从 Set 对象中删除相应的传递值。 示例 输出 6 Set { 'Green', 'Red', 'Orange', 'Yellow', 'Indigo', 'Blue' } Set.prototype.entries()它返回一个新 Set 迭代器的对象。它包含每个元素的值的数组。它保持插入顺序。 示例 输出 [ 'Green', 'Green' ] [ 'Red', 'Red' ] [ 'Orange', 'Orange' ] [ 'Yellow', 'Yellow' ] [ 'Violet', 'Violet' ] [ 'Indigo', 'Indigo' ] [ 'Blue', 'Blue' ] Set.prototype.forEach(callbackFn[, thisArg])它为每个 Map 条目执行一次指定的回调函数。 示例 输出 Green Red Orange Yellow Violet Indigo Blue Set.prototype.has(value)它返回一个布尔值,该值指示 Set 对象中是否存在与相应值一起的元素。 示例 输出 true true false Set.prototype.values()它返回一个新迭代器对象,该对象包含 Set 对象中每个元素的值,按照插入顺序。 示例 输出 Green Red Orange Yellow Violet 弱 Set它用于存储对象的集合。它类似于 Set 对象,因此它也不能存储重复值。与弱映射类似,弱集合不能被迭代。弱集合只能包含可能被垃圾回收的对象。 弱集合仅包含 Set 对象的 add(value), delete(value) 和 has(value) 方法。 示例输出 true false 迭代器迭代器是一个对象,它定义了序列和在其终止时的返回值。它允许一次访问一个对象的集合。Set 和 Map 都包含返回迭代器的方法。 迭代器是具有 next() 方法的对象。当调用 next() 方法时,迭代器返回一个对象,其中包含 'value' 和 'done' 属性。 'done' 是一个布尔值,在读取集合中的所有元素后返回 true。否则,它返回 false。 让我们了解迭代器的实现以及 Set 对象。 示例输出 { value: 'Green', done: false } { value: [ 'Green', 'Green' ], done: false } { value: 'Green', done: false } 下一主题Es6 数组方法 |
我们请求您订阅我们的新闻通讯以获取最新更新。