javascript - 如何计算 node.js 中的值
问题描述
我正在开发像 Food Panda 这样的应用程序。我面临一个问题。我正在计算司机的支出(例如,如果司机每笔订单赚取 4.3 美元)我试图获得每个月的总和,但是当司机停止服务时,我的代码为这些月份分配了相同的值。
请告诉我我的代码做错了什么:
parameters: toDate=2020-10-21&fromDate=2021-11-21
const resturantOrders = await DelivigoOrder.findAll({
attributes: [
"Id",
"OrderNumber",
"OrderStatusId",
"TotalPrice",
"OrderAcceptTime",
"DriverId",
"ResturentId"
],
where: {
DriverId: driverId,
IsActive: true,
// OrderAcceptTime: { [Op.between]: [fromDate, toDate] },
$or: [
{ OrderStatusId: 50 },
{ OrderStatusId: 55 },
{ OrderStatusId: 60 },
{ OrderStatusId: 70 },
{ OrderStatusId: 80 },
],
},
});
var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct ", "Nov ", "Dec"];
var orderPayouts = [];
let payout = 0;
for (let index = 0; index < months.length; index++) {
const element = months[index];
for (let index = 0; index < resturantOrders.length; index++) {
const order = resturantOrders[index];
if (element === InternalServices.getMonthName(order.OrderAcceptTime)) {
console.log(element, index, "in");
payout = payout + 4.3;
}
}
orderPayouts.push({
month: element,
payout: payout
});
};
输出
{
"result": [{
"month": "Jan",
"payout": 55.899999999999984
}, {
"month": "Feb",
"payout": 55.899999999999984
}, {
"month": "Mar",
"payout": 55.899999999999984
}, {
"month": "Apr",
"payout": 55.899999999999984
}, {
"month": "May",
"payout": 55.899999999999984
}, {
"month": "Jun",
"payout": 55.899999999999984
}, {
"month": "Jul",
"payout": 55.899999999999984
}, {
"month": "Aug",
"payout": 55.899999999999984
}, {
"month": "Sep",
"payout": 55.899999999999984
}, {
"month": "Oct",
"payout": 150.5
}, {
"month": "Nov",
"payout": 150.5
}, {
"month": "Dec",
"payout": 150.5
}]
}
驱动程序仅在 1 月和 10 月两个月内工作,但我的代码将 Jan 值分配给所有其他月份与 OCT 相同。
解决方案
您ley payout
在循环之外声明。您应该考虑在循环内声明它
...
for (let index = 0; index < months.length; index++) {
let payout = 0;
const element = months[index];
...
推荐阅读
- sql - 如何使用 SQL LIKE 运算符在列中搜索精确模式?
- php - 使用 jQuery ajax 选择依赖下拉列表并显示所选值
- mysql - 为什么 XA 事务用于分布式事务
- python - 选择包含不同大小的 numpy.ndarrays 的特定行 numpy.ndarray
- jquery - 如何通过单击jQuery页面上任意位置的按钮来查找特定ID
- boost - 使用增强几何从点到线的垂直地理距离
- php - 我从 Codeigniter 框架 route.php 收到 T_VARIABLE 错误
- raspberry-pi - 具有多个音频源的 Gstreamer 不同步
- javascript - 如果相应的元素 hasClass 'active',则 Jquery 添加类(试图简化我的代码)
- bash - 返回 bash 中的菜单