ES6 数据结构map

版权声明:未经本人同意不得私自转载 https://blog.csdn.net/qq_40190624/article/details/82868834

map:键值对与对象不同的是键和值可以是任何类型

const map1 = new Map();
//设置KEY键
const key1 = 'some string',
    key2 = {},
    key3 = function(){};

//为key设置value值
map1.set(key1,'value of key1');
map1.set(key2,'value of key2');
map1.set(key3,'value of key3');

//根据key获取对应的value
// console.log(map1.get(key1),map1.get(key2),map1.get(key3));//value of key1 value of key2 value of key3

//获取对对应的value数量 
console.log(map1.size);//3

//for ...of 遍历Map1中的key and value
for (let [key,value] of map1){
    console.log(`${key} = ${value}`);
    /**打印出来的结果都为字符串
     * some string = value of key1
[object Object] = value of key2
function (){} = value of key3
     */
}


//打印Key值
for(let key of map1.keys()){
    console.log(key)
    /**some string
        {}
        [Function: key3] 
    */
}

// 打印值
for(let value of map1.values()){
    console.log(value)
    /**
     * value of key1
        value of key2
        value of key3
     */
}

//将map1转化成正常的数组

//将map1转化成正常的数组
const keyValueArray = Array.from(map1);
console.log(keyValueArray)

 将map1中的key转化为数组

//将map1中的key转化为数组
const keyArray = Array.from(map1.keys())
console.log(keyArray)
/**
 * [ 'some string', {}, [Function: key3] ]
 */

将map1中的value转化为数组

//将map1中的value转化为数组
const keyArrayValue = Array.from(map1.values())
console.log(keyArrayValue)
/**
 * [ 'value of key1', 'value of key2', 'value of key3' ]
 */

猜你喜欢

转载自blog.csdn.net/qq_40190624/article/details/82868834