gpt4 book ai didi

javascript - 将 es6 map 的内容转换为 JSON 数组

转载 作者:行者123 更新时间:2023-12-01 03:04:43 27 4
gpt4 key购买 nike

我有一个这样设置的 map

const directory = new Map()
.set('John', { age:25, gender: 'M'} )
.set('Mary', { age:51, gender: 'M'} )
.set('Sam', { age:15, gender: 'M', id: 322 } )
.set('Jane', { age:15, gender: 'M', paid: true } );

我希望将其转换为 json 数组,并为 map 中的每个键添加一个新属性“name”:

[
{ "name": "John", "age":25, "gender": "M" },
{ "name": "Mary", "age":51, "gender": "F" },
{ "name": "Sam", "age":15, "gender": "M", "id": 322 },
{ "name": "Jane", "age":19, "gender": "F", "paid": true }
]

我尝试了 JSON.stringify([...directory]) 和一堆其他东西,但不确定是否有任何有效的方法将 key 包含在 json 中。

最佳答案

由于您已经使用 spread 属性来解构 Map,因此您只需将该二维数组映射到对象数组,这可以通过数组解构轻松完成:

 [...directory].map(([name,obj]) => ({name,...obj}));

或者没有 ESnext:

[...directory].map(([name,obj]) => Object.assign({name},obj));

Try it

关于javascript - 将 es6 map 的内容转换为 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46284209/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com