1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 10:22:23 +00:00

docs(set): edit set

This commit is contained in:
ruanyf 2018-12-31 18:00:47 +08:00
parent f6199af2f6
commit b563fcb929

View File

@ -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