1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-27 20:32:21 +00:00

docs(set): fix example

This commit is contained in:
ruanyf 2016-07-21 09:29:36 +08:00
parent f7f80e5472
commit 717ddb15dc

View File

@ -267,15 +267,15 @@ let b = new Set([4, 3, 2]);
// 并集
let union = new Set([...a, ...b]);
// [1, 2, 3, 4]
// Set {1, 2, 3, 4}
// 交集
let intersect = new Set([...a].filter(x => b.has(x)));
// [2, 3]
// set {2, 3}
// 差集
let difference = new Set([...a].filter(x => !b.has(x)));
// [1]
// Set {1}
```
如果想在遍历操作中同步改变原来的Set结构目前没有直接的方法但有两种变通方法。一种是利用原Set结构映射出一个新的结构然后赋值给原来的Set结构另一种是利用`Array.from`方法。
@ -400,13 +400,13 @@ JavaScript的对象Object本质上是键值对的集合Hash结构
```javascript
var data = {};
var element = document.getElementById("myDiv");
var element = document.getElementById('myDiv');
data[element] = metadata;
data["[Object HTMLDivElement]"] // metadata
data[element] = 'metadata';
data['[object HTMLDivElement]'] // "metadata"
```
上面代码原意是将一个DOM节点作为对象`data`的键,但是由于对象只接受字符串作为键名,所以`element`被自动转为字符串`[Object HTMLDivElement]`。
上面代码原意是将一个DOM节点作为对象`data`的键,但是由于对象只接受字符串作为键名,所以`element`被自动转为字符串`[object HTMLDivElement]`。
为了解决这个问题ES6提供了Map数据结构。它类似于对象也是键值对的集合但是“键”的范围不限于字符串各种类型的值包括对象都可以当作键。也就是说Object结构提供了“字符串—值”的对应Map结构提供了“值—值”的对应是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构Map比Object更合适。