js-Map和Set与Array互转

330 阅读1分钟

一:Map转Array

let map = new Map();
map.set(1, "a");
map.set(2, "b");
map.set(3, "c");

// 方法一
let arr = Array.from(map); // 二维数组
console.log(arr);//输出 [[1, "a"], [2, "b"], [1, "c"]]
console.log(arr.flat());   // 输出:[1, "a", 2, "b", 3, "c"]


// 方法二 使用...rest运算符
console.log([...map]);  // 输出 [[1, "a"], [2, "b"], [1, "c"]]
console.log([...map.values()]);  // 输出 ["a", "b","c"]
console.log([...map.keys()]);  // 输出 [1, 2, 3]

二:Array转Map

let arr = [[1,'a'],[2,'b'],[3,'c']];

//方法一
let map = new Map(arr);
console.log(map) //输出 {1 => "a", 2 => "b", 3 => "c"}

三:Array转Set

let array = [1, 2, 3, 4];
let set = new Set(array);

四:Set转Array

let demo = new Set([1,2,3,4]);
Array.from(demo)