JS-Map和Set简介和基本用法

2 篇文章 0 订阅
1 篇文章 0 订阅

两种数据结构Map和Set

Map的数据结构:一组具有键值对的结构
eg:

//写法1:
 var m=new Map([['Michael',95],['Bob',75],['Tracy',85]]);
 //写法2
 var scoreList = [
  { name: 'Tim', age: 18, score: 90 },
  { name: 'Tony', age: 17, score: 95 },
  { name: 'Kevin', age: 18, score: 91 }
];

如上为map的数据结构用二维数组表示的键值对
map结构常用方法:
1

map.set(key,value) ---->给map添加键值对元素,返回值类型为空类型
var m=new Map();//添加空的Map
m.set('Adam',67);//添加新的key-value
m.set("Bob",59);
console.log(m) // 结果 { 'Adam' => 67, 'Bob' => 59 }

2

map.has(key)--->检查map是否含有key,返回值类型为boolean类型
var m=new Map();//添加空的Map
m.set('Adam',67);//添加新的key-value
m.set("Bob",59);
console.log(m.has("Adam"))//true

3

map.delete(key)---->通过key删除元素
 1.map.set(key,value) ---->给map添加键值对元素,返回值类型为空类型
var m=new Map();//添加空的Map
m.set('Adam',67);//添加新的key-value
m.set("Bob",59);
m.delete("Bob")
console.log(m.has("Bob"));//undefined

需要注意的:
由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

var m = new Map();
m.set('Adam', 67);
m.set('Adam', 88);
console.log(m.get('Adam')); // 88

Set的数据结构:Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。
用代码表示Set的数据结构:

var set={1234}

要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set:

 var s1 = new Set(); // 空Set
 var s2 = new Set([1, 2, 3]);

重复元素在Set中自动被过滤:

var s=new Set([1,2,3,3,'3']);
 console.log(s);//{1,2,3,"3"}

Set的常用方法
1.Set.add(key);---->添加元素,参数为key,可以重复添加,但不会有效果:

var set=new Set([1,2,3]);//初始化Set
 s.add(4);
 s.add(4);
console.log(s); // Set {1, 2, 3, 4}

2.Set.has(key)—>判断Set中是否有key(元素)

var s=new Set([1,2,3]);
console.log(s.has(4));//false

3.Set.delete(key)—>删除对应的key

var s=new Set([1,2,3]);
s.delete(3);
console.log(s);//{1,2}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值