From b563fcb9293213035f1c8b08c4e9cf3bf43a686f Mon Sep 17 00:00:00 2001 From: ruanyf Date: Mon, 31 Dec 2018 18:00:47 +0800 Subject: [PATCH] docs(set): edit set --- docs/set-map.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/set-map.md b/docs/set-map.md index 58a3a7c..29afcc7 100644 --- a/docs/set-map.md +++ b/docs/set-map.md @@ -6,7 +6,7 @@ ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 -Set 本身是一个构造函数,用来生成 Set 数据结构。 +`Set`本身是一个构造函数,用来生成 Set 数据结构。 ```javascript const s = new Set(); @@ -19,9 +19,9 @@ for (let i of s) { // 2 3 5 4 ``` -上面代码通过`add`方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。 +上面代码通过`add()`方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。 -Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 +`Set`函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 ```javascript // 例一 @@ -54,6 +54,13 @@ set.size // 56 [...new Set(array)] ``` +上面的方法也可以用于,去除字符串里面的重复字符。 + +```javascript +[...new Set('ababbc')].join('') +// "abc" +``` + 向 Set 加入值的时候,不会发生类型转换,所以`5`和`"5"`是两个不同的值。Set 内部判断两个值是否不同,使用的算法叫做“Same-value-zero equality”,它类似于精确相等运算符(`===`),主要的区别是`NaN`等于自身,而精确相等运算符认为`NaN`不等于自身。 ```javascript