map

let map = new Map([
["a","b"],
["c","d"]
]);
for (let i of map.keys()){//循环map中的键名
console.log(i)
}

let map = new Map([
    ["a","b"],
    ["c","d"]
]);
for (let i of map.entries()){//返回键值对
    console.log(i)
}

Map直接转换成数组
let myMap = new Map().set(true, 7).set({foo: 3}, ['abc']);
console.log([...myMap]);


数组转成Map
let map = new Map();
//定义一个空Map;
let arr = [1, 2, 3, 4, 5, 3, 2];
//定义一个数组
arr.forEach(function (v, k) {//数组遍历后将
    map.set([k],[v]);//键和值添加到map中
});
console.log(map);//输出map


//将Map转换成对象
let myMap = new Map().set("name", 7).set({foo: 3}, ['abc']);//创建一个Map对象
function fn(strMap){//创建一个fn的方法
    let obj = {};//创建一个空对象
    for (let [k,v] of strMap){//遍历出代入参数的键和值
        obj[k]=v;//取出参数中的键和值来赋值给obj的键等于值
    }
    return obj;//返回obj
}
console.log(fn(myMap));//输出myMap代入fn()这个方法


对象转为Map
var obj ={
    name:"zhang",
    age:21,
    money:1000
};//创建一个obj
function fn(a){//创建一个对象转Map方法
    let myMap = new Map();//创建一个新Map用于接收返出来的值
    for(let k of Object.keys(a)){//遍历出这个参数的键(索引)
        myMap.set(k,a[k])//将下标和它的值添加给新Map
    }
    return myMap;//返还出新Map
}
console.log(fn(obj));//输出带着fn()方法的这个obj,将转成Map
posted @ 2017-04-23 21:44  酷炫的程序猿  阅读(78)  评论(0)    收藏  举报