需要展示出一天中所有小时的数据,后端返回的数据是这样beforData:[{"time_hours":"09",//时间"approved_amount":28068.0,"pass_rate":1.0},{"time_hours":"10","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"11","approved_amount":42706.0,"pass_rate":0.5},{"time_hours":"13","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"15","approved_amount":37700.0,"pass_rate":0.5714285714},{"time_hours":"16","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"17","approved_amount":29520.0,"pass_rate":0.6},{"time_hours":"18","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"19","approved_amount":56216.0,"pass_rate":1.0},{"time_hours":"22","approved_amount":5800.0,"pass_rate":1.0},{"time_hours":"23","approved_amount":0.0,"pass_rate":0.0}]需要将缺少的小时补全,转化成[{"time_hours":"01:00","approved_amount":null,"pass_rate":null,},{"time_hours":"02:00","approved_amount":null,"pass_rate":null,},{"time_hours":"03:00","approved_amount":null,"pass_rate":null,},{"time_hours":"04:00","approved_amount":null,"pass_rate":null,},{"time_hours":"05:00","approved_amount":null,"pass_rate":null,},{"time_hours":"06:00","approved_amount":null,"pass_rate":null,},{"time_hours":"07:00","approved_amount":null,"pass_rate":null,},{"time_hours":"08:00","approved_amount":null,"pass_rate":null,},{"time_hours":"09:00","approved_amount":28068.0,"pass_rate":1.0},{"time_hours":"10:00","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"11:00","approved_amount":42706.0,"pass_rate":0.5},{"time_hours":"12:00","approved_amount":null,"pass_rate":null,},{"time_hours":"13:00","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"14:00","approved_amount":null,"pass_rate":null,},{"time_hours":"15:00","approved_amount":37700.0,"pass_rate":0.5714285714},{"time_hours":"16:00","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"17:00","approved_amount":29520.0,"pass_rate":0.6},{"time_hours":"18:00","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"19:00","approved_amount":56216.0,"pass_rate":1.0},{"time_hours":"20:00","approved_amount":null,"pass_rate":null,},{"time_hours":"21:00","approved_amount":null,"pass_rate":null,},{"time_hours":"22:00","approved_amount":5800.0,"pass_rate":1.0},{"time_hours":"23:00","approved_amount":0.0,"pass_rate":0.0},{"time_hours":"00:00","approved_amount":null,"pass_rate":null,},]这样的,请教一下大家这个要怎么做啊?
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
不谢,拿走:constbeforeData=[{"time_hours":"09",//时间"approved_amount":28068.0,"pass_rate":1.0}];constresult=Array.from({length:24},(v,i)=>i).map(hour=>{letobj=beforeData.filter(has=>Number(has.time_hours)===hour)[0]||{};return{time_hours:`${`00${hour}`.slice(-2)}:00`,approved_amount:obj.approved_amount||null,pass_rate:obj.pass_rate||null};});console.log(result);就这么简单~~~
呼啦一阵风
TA贡献1802条经验 获得超6个赞
补充一个线性时间复杂度的functiongetFullRange(beforeData){returnbeforeData.reduce((arr,item)=>{arr[+item.time_hours]=itemreturnarr},[...newArray(24)]).map((item,i)=>{if(!item){item={time_hours:String(i),approved_amount:null,pass_rate:null,}}item.time_hours=item.time_hours.padStart(2,'0')+':00'returnitem})}
添加回答
举报
0/150
提交
取消