学习笔记:ES6之Set-map

来源:互联网 发布:梦幻西游mac下载安装 编辑:程序博客网 时间:2024/05/17 23:49

Set的用法与数组相似,但是里面的元素是不能重复的

//声明 Set()--声明的时候未添加默认值

letlist=newSet();

//add()给Set()添加元素

list.add(5);

list.add(7);

list.add(7);---不能添加重复的元素,不会生效,但是不会报错

//size计算Set()的大小

console.log('size',list.size);--2

//声明 Set()--声明的时候添加默认值

letarr=[1,2,3,4,5];

letlist=newSet(arr);

console.log('size',list.size);--5

Set可以用用于去重

letarr=[1,2,3,4,5,2,4];

letlist=newSet(arr);

console.log('unique',list);--unique Set(5) {1, 2, 3, 4, 5}

  • add():添加元素
  • delete():删除特定元素
  • clear():删除全部元素,即清空
  • has():是否包含某个元素

Set()的遍历

letarr=['add','delete','clear','has'];

letlist=newSet(arr);

(1)for(letkeyoflist.keys()){

console.log('keys',key);--add delete clear has

}

(2)for(letvalueoflist.values()){

console.log('values',value);--add delete clear has

}

(3)for(let[key,value]oflist.entries()){

console.log('entries',key,value);--add add delete delete clear clearhas has

}

(4)list.forEach(function(item){

console.log(item);--add delete clear has

})

 

WeakSet的用法

--不能进行遍历

//WeakSetSet支持的数据类型不一样(他的元素只能是对象)

//WeakSet的引用只能是弱引用

letweakList=newWeakSet();

letarg={};--只能是对象

weakList.add(arg);

console.log('weakList',weakList);

  • add():添加元素
  • delete():删除特定元素
  • clear():删除全部元素,即清空
  • has():是否包含某个元素

Map的用法

与对象object相似,都是键/值对,但object里面的key是字符串,但Map里面的key可以是任意的数据类型

  • 第一种定义方式:

letmap=newMap();

letarr=['123'];

map.set(arr,456);---添加值,key,value

console.log('map',map,map.get(arr));--get()获取值map Map(1) {["123"] => 456}456

  • 第二种定义方式:

letmap=newMap([['a',123],['b',456]]);

console.log('mapargs',map);--map args Map(2) {"a"=> 123, "b" => 456}

Map对象的属性值:

  • Size:获取大小
  • Get()获取元素
  • delete():删除特定元素
  • clear():删除全部元素,即清空

遍历于Set一样

WeakMap的用法--也不能遍历,key必须是对象

letweakmap=newWeakMap();

原创粉丝点击