【发布时间】:2023-01-08 14:18:11
【问题描述】:
当我过滤某些城市时,这里的新手试图从我从 Supabase 获得的数组中创建一个对象。
以下是传入的数据:
[
{
"weather": "sunny",
"percentage": "31"
},
{
"weather": "rain",
"percentage": "19"
},
{
"weather": "cloudy",
"percentage": "35"
},
{
"weather": "snow",
"percentage": "15"
}
]
我怎样才能接受并创造这个?
{
sunny: 31,
rain: 19,
cloudy: 35,
snow: 15,
}
我试过在这里搜索多个问题,但运气不佳,但如果在其他地方得到回答,请指出。我是 JS 的新手,经历过地狱般的教程,但似乎无法得到它来输出我需要的东西。
这是从 Supabase 获取数据的异步函数:
async function getData() {
const { data, error } = await supabase
.from('cities')
.select('weather, percentage')
.match({ city: targetCity });
if (error) throw new Error(error.message);
我得到的最接近的是使用这个:
const result = data.map(Object.values);
console.log(result);
这给出了这个输出,但它仍然是数组:
(4) [Array(2), Array(2), Array(2), Array(2)]
0: (2) ['sunny', '31']
1: (2) ['rain', '19']
2: (2) ['cloudy', '35']
3: (2) ['snow', '15']
length: 4
[[Prototype]]: Array(0)
【问题讨论】:
标签: javascript arrays object async-await supabase