JavaScript中将Map转为数组有四种方式:1.键数组用[...map.keys()];2.值数组用[...map.values()];3.键值对数组用[...map.entries()];4.对象数组用[...map.entries()].map(([k,v])=>({key:k,value:v}))。

JavaScript 中将 Map 对象转成常规数组,核心是利用 Map 提供的 keys()、values() 或 entries() 迭代器,再用 Array.from() 或展开运算符 [...] 转为数组。
获取键数组(key 数组)
只提取 Map 的所有键,生成字符串或任意类型的数组:
Array.from(map.keys())- 等价写法:
[...map.keys()]
例如:
const map = new Map([['a', 1], ['b', 2]]);console.log([...map.keys()]); // ['a', 'b']
获取值数组(value 数组)
只提取 Map 的所有值,适合快速收集数据内容:
立即学习“Java免费学习笔记(深入)”;
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
Array.from(map.values())- 等价写法:
[...map.values()]
例如:
console.log([...map.values()]); // [1, 2]获取键值对数组(entries 数组)
得到二维数组形式的 [[key, value], [key, value]],这是最接近“Map 转数组”的常用方式:
Array.from(map.entries())- 等价写法:
[...map.entries()]
例如:
console.log([...map.entries()]); // [['a', 1], ['b', 2]]转成对象数组(自定义结构)
如果需要类似 [{ key: 'a', value: 1 }, { key: 'b', value: 2 }] 的格式,可用 map() 处理 entries 数组:
[...map.entries()].map(([k, v]) => ({ key: k, value: v }))
例如:
const arrOfObj = [...map.entries()].map(([k, v]) => ({ key: k, value: v }));console.log(arrOfObj); // [{ key: 'a', value: 1 }, { key: 'b', value: 2 }]

















