Javascript 如何将贴图转换为对象数组?

Javascript 如何将贴图转换为对象数组?,javascript,arrays,Javascript,Arrays,我正在尝试将贴图转换为对象数组 假设我有以下地图: 让myMap=newmap().set('a',1).set('b',2) 我想将上面的地图转换为以下内容: [ { "name": "a", "value": "1", }, { "name": "b", "value": "2", } ] 使用和: 让myMap=newmap().set('a',1).set('b',2); 常量arr=[…myMap].map([

我正在尝试将贴图转换为对象数组

假设我有以下地图:

让myMap=newmap().set('a',1).set('b',2)

我想将上面的地图转换为以下内容:

[
   {
      "name": "a",
      "value": "1",
   },
   {
      "name": "b",
      "value": "2",
   }
]
使用和:

让myMap=newmap().set('a',1).set('b',2);
常量arr=[…myMap].map([name,value])=>({name,value}));

控制台日志(arr),ES6的传播方式如下:

让myMap=newmap().set('a',1).set('b',2);
const result=Array.from(myMap.map)([name,value])=>({name,value}))
控制台日志(结果)您可以获取并映射键/值对

let map=new map().set('a',1).set('b',2),
array=array.from(map,([name,value])=>({name,value}));

console.log(数组)在大多数情况下,值中的键已全部就绪,因此我们不需要它。(存储对象数组时)Typescript不喜欢[…myMap]语法:“TS2569:Type'Map'不是数组类型或字符串类型。使用编译器选项--downlevelIteration'允许迭代器的迭代。”@Roman,您必须将
downlevelIteration:true
添加到
编译器选项
@AsadShakeel,然后对属性采用key/value的经典方法:
{name,value:value.toString()}
Ohh!!知道了。因此,上面的值作为一个速记属性存储在对象中,我们可以根据需要分配这些值。谢谢。如果您想要键值-array=array.from(map,([name,value])=>({[name]:value}))@dmathisen,带有箭头函数,这是返回对象的简写
(name,value)=>({name,value})
(name,value)=>{return{name,value}}
@dmathisen相同,不带大括号,它是一个块语句。