map 与 set的使用

Posted ouycx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了map 与 set的使用相关的知识,希望对你有一定的参考价值。

1.map的使用

  • 初始化的两种方式

a.

const map = new Map([[‘name‘,‘ouycx‘],[‘age‘, 20]]);

 b.

const map = new Map();

map.set(‘name‘, ‘ouycx‘);
map.set(‘age‘, 20);
  • map的方法

1)set添加值

map.set(‘age‘, 20);

技术分享图片

 注意: 如果添加的值跟已添加的key值一样,会覆盖:

const map = new Map();

map.set(‘name‘, ‘ouycx‘);
map.set(‘age‘, 20);
map.set(‘name‘,‘test‘);

技术分享图片

 

2)  get获取值

map.get(‘age‘)

 技术分享图片

3)  delete删除某个key

map.delete(‘age‘)

map.delete(‘age‘) 如果删除成功返回的是true,剩下键值为name的属性值,如图:

技术分享图片

4)  has判断某个属性是否在map里面,存在返回true,不存在返回false

 

map.has(‘name‘)

技术分享图片

5) clear 清除所有的属性值

map.clear();

 技术分享图片

  • 遍历map输出值

 我常用的是for ... of   , forEach方法:

1) for  .. of

const map = new Map();

map.set(‘name‘, ‘ouycx‘);
map.set(‘age‘, 20);

for(let [key, val] of map){
    console.log("key:" + key + "  value:" + val);
}

2) forEach

const map = new Map();

map.set(‘name‘, ‘ouycx‘);
map.set(‘age‘, 20);

map.forEach(function(val, key, map){
    console.log("key:" + key + "  value:" + val);
});

 

结果都是一样的

技术分享图片

 

 2.set 的使用

  • 初始化的两种方式

a.

var set = new Set([2,3,4,5,5,6]);

 

b.

var set = new Set();

set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);

 

结果都一样:

技术分享图片

 

  • set的方法

 1)add 添加属性

var set = new Set();

set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);

 注意,添加相同的值会覆盖

技术分享图片

 

2)delete 删除属性

set.delete(3);

技术分享图片

3) clear清除属性

set.clear();

技术分享图片

  •  遍历属性的方法  for... of   与 forEach

 1) for ... of

var set = new Set();

set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);

console.log(set);

for (var s of set){
    console.log(s);
}

技术分享图片

2) forEach

var set = new Set();

set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);

console.log(set);

set.forEach(function(v, k){
    console.log("值为:" + v + " 索引为:" + k);
})

技术分享图片

注意: value值  跟索引key 的值是一样的。

 

3)可以用扩展运算符遍历

var set = new Set();

set.add(2);
set.add(3);
set.add(4);
set.add(5);
set.add(5);
set.add(6);

console.log(...set);

技术分享图片

 

以上是关于map 与 set的使用的主要内容,如果未能解决你的问题,请参考以下文章

peptide map DDA和IMS有啥区别

201621123037 《Java程序设计》第9周学习总结

手撕STLmap和set

JavaScript 代码片段

手撕STLmap和set

map 与 set的使用