gpt4 book ai didi

javascript - json分组多个数组的相关数据

转载 作者:行者123 更新时间:2023-11-29 18:43:03 26 4
gpt4 key购买 nike

所以我目前正在从 API 获取数据,但我获取的数据非常奇怪。例如,如果我想从 API 获取 1 个特定位置的温度、湿度和日期,我将得到如下内容:

data: {temp="15",humidity=null,date=null,lat=50,long=5}
data: {temp=null,humidity="7",date=null,lat=50,long=5}
data: {temp=null,humidity=null,date="20190417",lat=50,long=5}

所以 API 似乎单独获取所有内容,但它没有将它们组合在一起并发送 1 个数组,而是为我请求的每条信息发送一个数组。是否可以从每个数组中取出相关数据并将其放入 1 对于我所做的每个请求?我想用 Javascript 或 JQuery 进行分组。我知道通常你必须发布你尝试过的东西,但老实说,此刻我完全不知所措,只是一个关于如何解决问题的起点会很好。

预期结果

data: {temp="15",humidity="7",date="20190417",lat=50,long=5}

最佳答案

使用 Object.entries 从对象中获取条目,过滤掉 null 值,从条目中重新创建对象 (Object.fromEntries),合并所有对象在一起(Object.assign)

const result = data.reduce((target_object, curr) => {
const entries = Object.entries(curr);
const filtered_entries = entries.filter(([key, value]) => value !== null);
const filtered_object = Object.fromEntries(filtered_entries);
Object.assign(target_object, filtered_object)
}, {});

const data = [{temp: "15", humidity: null, date: null, lat: 50, long: 5}, {temp: null, humidity: "7", date: null, lat: 50, long: 5}, {temp: null, humidity: null, date: "20190417", lat: 50, long: 5}];
const result = data.reduce((prev, curr) => Object.assign(prev, Object.fromEntries(Object.entries(curr).filter(([key, value]) => value !== null))), {});
console.log(result);

关于javascript - json分组多个数组的相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55724386/

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