ES6 - Map() / Set()的用法

Map是一组键值对的结构,具有极快的查找速度。

声明 

var map = new Map();
const getmap = new Map([['aa',1],['bb',2]]);

设值

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


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

例如: map.set("Alan","B");

    map.set("Alan","A");

     map.get("Alan);  // A

    map.set("change",function(){///});

size (等同于length)

map.size();

取值

map.get("key");

判断key是否存在

map.has("key");

 删除key

map.delete("key");

 

 清空map

map.clear();

 

 

Array 中也存在map方法,容易让初始者混淆。 这是两个完全不懂得概念和方法。

array.map(function(currentValue,index,arr), thisValue)   改方法是属于数组的一种操作方法


例如 array = [1,2,3,4,5];

 

currentValue 就是循环array中的每一个值  1 2 3 4 5

index 就是循环array的index值 0 1 2 3 4

arr 就是 array本身[1,2,3,4,5]

如果想要在array的基础上,计算出新的一个数组,同时该数组还不能被改变,那么就用到了.map()方法

 

var array2 = array.map(function(currentValue, index, arr){

  return currentValue * 2 

})

 

此时就会返回新数组array2 = [2,4,6,8,10 ]

此时 array 没有改变 还是 [1,2,3,4,5]

 

 

set是类似组数,返回的对象只有值,没有键值。创建自带去重

 

声明 

var set = new Set();

设值

set.add("newValue");

因为set是没有key值的,所以只能添加一个

 

size (等同于length)

set.size();

判断key是否存在

set.has("newValue");

 删除元素

set.delete("newValue");

 

 清空set

set.clear();

 

 set可用for...of...遍历

for(let v of set){

  console.log(v)

}

 

 

posted @ 2021-02-19 13:25  鑫仔Alan  阅读(474)  评论(0编辑  收藏  举报