美文网首页
Set()、Map()

Set()、Map()

作者: 天字一等 | 来源:发表于2018-12-12 20:21 被阅读97次

https://www.cnblogs.com/sker/p/5520392.html
Set
ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

var set = new Set([3]);
set.add(4)
console.log(set)  //
console.log(set.has(3))  //true
set.clear();
console.log(set)

在Set内部,两个NaN是相等。两个对象总是不相等的。可以用length来检测

四个操作方法:

add(value):添加某个值,返回Set结构本身。
delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
has(value):返回一个布尔值,表示该值是否为Set的成员。
clear():清除所有成员,没有返回值
set内部的元素可以遍历for...of...

Map
Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。


m.set(o, "content")
m.get(o) // "content"
 m.has(o) // true
m.delete(o) // true
m.has(o) // false</pre>
var map = new Map();

map.set(['a'], 555);
map.get(['a']) // undefined
上面代码的set和get方法,表面是针对同一个键,但实际上这是两个值,内存地址是不一样的,因此get方法无法读取该键,返回undefined。

相关文章

网友评论

      本文标题:Set()、Map()

      本文链接:https://www.haomeiwen.com/subject/yjaphqtx.html