es6 Map与Set

1.Map 对象
因为去网络上了解一下Map的 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。比如:
Map 中的 key
key 是字符串
var myMap = new Map();
var keyString = "a string"; 
myMap.set(keyString, "和键'a string'关联的值");
myMap.get(keyString);    // "和键'a string'关联的值"
myMap.get("a string"); 

还有Map中的迭代
对他进行遍历的一个是for 一个是forEach
var myMap = new Map();
myMap.set(0, "zero");
myMap.set(1, "one");
// 将会显示两个 logs。 一个是 "0 = zero" 另一个是 "1 = one"
myMap.forEach(function(value, key) {
console.log(key + " = " + value);
}, myMap)

Set 对象
set数据结构
set数据类型的元素必须是唯一的,如果加入了重复的不会成功添加;可以做去重;

方式1
    {
let list = new Set();
list.add(5);
list.add(7);

console.log('size',list.size);
```     }
方式2
{
let arr = [1,2,3,4,5];
let list = new Set(arr);

console.log('size',list.size);
}
不会做数据类型的转换
{
let list = new Set();
list.add(1);
list.add(2);
list.add(1);//不会报错 只是不会生效

console.log('list',list);

let arr=[1,2,3,1,'2'];
let list2=new Set(arr);

console.log('unique',list2);
}
set的几个方法:add clear delete has
{
let arr=['add','delete','clear','has'];
let list=new Set(arr);

console.log('has',list.has('add'));//是否包含
console.log('delete',list.delete('add'),list);//清空
list.clear();
console.log('list',list);
}
set遍历:keys和values返回的都是set里面的值

{
let arr=['add','delete','clear','has'];
let list=new Set(arr);

for(let key of list.keys()){
 console.log('keys',key);
}
for(let value of list.values()){
 console.log('value',value);
}
for(let [key,value] of list.entries()){
 console.log('entries',key,value);
}
list.forEach(function(item){console.log(item);})
}

你可能感兴趣的:(es6 Map与Set)