/**********************************************************************
** author : Bugliu
** date : 2018-12-05
** description : Map+Set
** 学习网站 : www.liaoxuefeng.com
**********************************************************************/
/*
JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数
据类型作为键也是非常合理的。解决这个问题,引入了Map。
*/
// 初始化Map需要一个二维数组,或者直接初始化一个空Map
var m = new Map([ ['mik', 95],['bob', 76],['tye', 80] ]);
console.log( m.get('bob') ); //76
var mp = new Map(); // 初始化空map
mp.set('a', 60); // 插入新key-value
mp.set('b', 70);
console.log( mp ); //"a" => 60, "b" => 70
console.log( mp.has('a') ); //true 判断键值对是否存折
mp.delete('a'); // 删除键值对
console.log( mp ); //"b" => 70
// key,value一一对应,所以,多次对一个key放入value,后面的值会把前面的值冲掉
mp.set('c', 80);
mp.set('c', 90);
console.log( mp.get('c') ); //90
/*
Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,
没有重复的key。要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set
*/
var s1 = new Set();
var s2 = new Set([1, 2, 3]);
// 重复元素自动被过滤
var s3 = new Set([1, 2, 2, 3, 3, 4]);
console.log( s3 ); //1, 2, 3, 4
// 添加元素
s3.add(100);
console.log( s3 ); //1, 2, 3, 4, 100
// 删除元素
s3.delete(3);
console.log( s3 ); //1, 2, 4, 100
JavaScript 学习笔记6_Map+Set_20181205
最新推荐文章于 2024-08-22 10:43:59 发布