1)Map 转为数组
前面已经提过,Map 转为数组最方便的方法,就是使用扩展运算符(...
)。
const map = new Map([
[1, 'one'],
[2, 'two'],
[3, 'three'],
]);
console.log([...map.keys()]); //[1, 2, 3]
console.log([...map.values()]); // ["one", "two", "three"]
(2)数组 转为 Map
将数组传入 Map 构造函数,就可以转为 Map。
let arr = [[1, 'one'],[2, 'two'],[3, 'three'],];
let map = new Map(arr);
console.log(map);
(3)Map 转为对象
如果所有 Map 的键都是字符串,它可以无损地转为对象。
function strMapToObj(strMap) {
let obj = Object.create(null);//创建空的对象
for (let [k, v] of strMap) {
obj[k] = v;