我希望我的Javascript使用这个JSON文件:
{
"Campgrounds": [
{
"Name": "Coyote lake",
"Address": "123 lake dr, gilroy ca 95111",
"SiteCount": 50,
"Funfact": "Nice lake, cows, screaming hogs"
},
{
"Name": "Uvas reservoir",
"Address": "123 lake dr, San jose ca 95111",
"SiteCount": 50,
"Funfact": "Nice waterfalls, trails, tall trees"
},
{
"Name": "Mount Madonna",
"Address": "123 lake dr, Santa cruz ca 95111",
"SiteCount": 50,
"Funfact": "Nice views, trails, tall trees"
},
{
"Name": "Santa Cruz Beach",
"Address": "1230 lake dr, Santa cruz ca 95111",
"SiteCount": 50,
"Funfact": "Ocean views, trails, tall trees"
}
]
}然后在js中创建一个新的对象变量,如下所示:
{
"Campgrounds": {
"Coyote lake" : {
"Name": "Coyote lake",
"Address": "123 lake dr, gilroy ca 95111",
"SiteCount": 50,
"Funfact": "Nice lake, cows, screaming hogs"
},
"Uvas reservoir" : {
"Name": "Uvas reservoir",
"Address": "123 lake dr, San jose ca 95111",
"SiteCount": 50,
"Funfact": "Nice waterfalls, trails, tall trees"
},
"Mount Madonna" : {
"Name": "Mount Madonna",
"Address": "123 lake dr, Santa cruz ca 95111",
"SiteCount": 50,
"Funfact": "Nice views, trails, tall trees"
},
"Santa Cruz Beach" : {
"Name": "Santa Cruz Beach",
"Address": "1230 lake dr, Santa cruz ca 95111",
"SiteCount": 50,
"Funfact": "Ocean views, trails, tall trees"
}
}
}本质上,我想获取数组的内容,并将它们转换为名称-值格式。这个是可能的吗?我还没找到办法。
发布于 2022-08-21 20:46:31
假设您的对象位于data变量中,则可以使用Array.prototype.reduce将其转换为所需的格式:
const formattedData = {
...data,
Campgrounds: data.Campgrounds.reduce(
(carry, item) => ({
...carry,
[item.Name]: item,
}),
{}
),
};但这有意义吗?它看起来不像是最优雅的格式。
https://stackoverflow.com/questions/73438069
复制相似问题