JS中Map和Array的转换

  • Map和Array的转换
var map = new Map();
map.set(1, "111");
map.set(2, "222");
map.set(3, "333");

// map -> array
var arr = Array.from(map); // 二维数组
console.log(arr.flat());   // 压平(成为一维数组)
// (6) [1, "111", 2, "222", 3, "333"]

// 或:使用...rest运算符
console.log([...map]);  // 把map中的entries扩展为数组元素。

二维数组 -> map,使用Map构造函数即可。

console.log(new Map(arr));
// Map(3) {1 => "111", 2 => "222", 3 => "333"}
  • Map的克隆
var map1 = new Map([[1,1], [2,2], [3,3]]);
var map2 = new Map(map1);   // 向构造方法传入map对象
console.log(map1 === map2); // false

你可能感兴趣的:(JS)