2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
您不應(yīng)該使用filterfor,trips因?yàn)樗诟淖冺?xiàng)目并根據(jù)item.billedAmount布爾值進(jìn)行過濾。因此,如果item.billedAmount是0在任何時(shí)候,該項(xiàng)目將從中刪除trips;map如果要修改項(xiàng)目的值,則必須改用。item變異后返回整個(gè)而不是更新對(duì)象內(nèi)的值并將變異作為值返回
let trips = await getTrips().then(data => {
return data.map(item => {
item.billedAmount = parseFloat(item.billedAmount.toString().replace(',', ''));
return item;
})
});
編輯 至于問題,試試這個(gè)?
async function getReport(acc, cur){
let singleTrip = trips.filter(item => item.driverID == cur)
if(singleTrip && singleTrip.length) { //filter returns empty array
try{
data = await getDriver(cur);
let { name, phone, vehicleID } = data;
acc {
fullName: name,
id: cur,
phone,
noOfTrips: singleTrip.length,
noOfVehicle: vehicleID.length
}
}catch(e) {
console.log(err);
}
}
return acc
}
添加回答
舉報(bào)