(1)Map 转为数组
Map 转为数组最方便的方法,就是使用扩展运算符(...
)。
const myMap = new Map()
.set(true, 1)
.set({runner: 3}, ['ts']);
[...myMap]
// [ [ true, 1 ], [ { runner: 3 }, [ 'ts' ] ] ]
(2)数组 转为 Map
(将数组传入 Map 构造函数,就可以转为 Map)
console.log(new Map([[true, 1], //Map { true => 1, { runner: 3 } => [ 'ts' ] }
[{ runner: 3 }, ['ts']]]
))
(3)Map 转为对象
(如果所有 Map 的键都是字符串,它可以无损地转为对象。)
// 如果有非字符串的键名,那么这个键名会被转成字符串,再作为对象的键名
function strMapToObj(strMap) {
// let obj = Object.create(null);
obj = {}
for (let [k, v] of strMap) {
obj[k] = v;
}
return obj;
}
const myMap = new Map()
.set(