刷题中遇到的map与set结构的相关函数

74 阅读1分钟

Map结构

初始化

let map = new Map();
let map = new Map([key,value])
let map = new Map([['varName', 'input'], ['planName', 'input']]); //初始化一个map并赋值

添加值

map.set('key','value');

获取值

let val = map.get(key)

获取Map大小

let size = map.size

查看是否有某个键

let hasKey = map.has(key)

删除值

map.delete(key)

清空

map.clear()

遍历

 map.forEach(function(value, key) {
     console.log(key, value);
 });
 
 for(let [key,value] of map) { // 等效于map.entries()
     console.log(key, value);
 };
 
 for(let key of map.keys()) {
     console.log(key);
 }

 for(let value of map.values()) {
     console.log(value);
 }

Set结构

Set结构即为不含重复元素的数组

初始化

const setA = new Set([1,2,3,4])

添加元素

s1.add("v1") 
  .add("v2")
  .add("v2")
  .add({ name: "jakequc" })
  .add({ name: "jakequc" })
  .add(obj)
  .add(obj); // 虽然 add 了两次 obj ,但是只会添加成功一次

查看是否含有某个值

s1.has('v1');//true

删除某个元素

s1.delete(val)

size属性

s1.size;//输出大小

遍历迭代

forEach格式

let v = new Set()
v.add(1)
v.add(5)
 
v.forEach(t=>{
    console.log(t)
})

for...of形式

let v = new Set([1,2,3,3,5])
			
for(let t of v) {
    console.log(t)
}

Set与Array的转换

array转为set

let array = [1, 2, 3, 4];
let set = new Set(array);

set转为array

let demo = new Set([1,2,3,4]);
Array.from(demo)