mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
docs(set): edit set
This commit is contained in:
parent
f6199af2f6
commit
b563fcb929
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user