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);

猜你喜欢

转载自www.cnblogs.com/ouycx/p/9418410.html