2 回答

TA貢獻1811條經驗 獲得超6個贊
您不應該使用filterfor,trips因為它正在改變項目并根據item.billedAmount布爾值進行過濾。因此,如果item.billedAmount是0在任何時候,該項目將從中刪除trips;map如果要修改項目的值,則必須改用。item變異后返回整個而不是更新對象內的值并將變異作為值返回
let trips = await getTrips().then(data => {
return data.map(item => {
item.billedAmount = parseFloat(item.billedAmount.toString().replace(',', ''));
return item;
})
});
編輯 至于問題,試試這個?
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
}
添加回答
舉報