Есть код, который проходится по заказам и получает суммы за определенный период. Сейчас 3 периода. Почему-то все цены одинаковые на всех трех периодах.
Думаю, что где-то надо обнулять переменные, потому что они суммируются из прошлых периодов.
Подскажите, пожалуйста, где я ошибся в коде. Спасибо.
var periods = {
"last7": [dateFormat(new Date().setDate(new Date().getDate() - 7), "yyyy-mm-dd HH:MM:ss"), dateFormat(new Date(), "yyyy-mm-dd HH:MM:ss")],
"lastMonth": [dateFormat(new Date().setMonth(new Date().getMonth() - 1, 1), "yyyy-mm-dd 00:00:00"), dateFormat(new Date().setMonth(new Date().getMonth(), getLastDayOfMonth(new Date().getFullYear(), new Date().getMonth() - 1)), "yyyy-mm-dd 23:59:59")],
"last30": [dateFormat(new Date().setDate(new Date().getDate() - 30), "yyyy-mm-dd HH:MM:ss"), dateFormat(new Date(), "yyyy-mm-dd HH:MM:ss")],
};
var ordersData = {}, purchase = {};
for (var period in periods) {
var orders = await this.apiOrders({
"dateCreatedStart": periods[period][0],
"dateCreatedEnd": periods[period][1],
"statusCode": "40226"
});
for (var order of orders) {
var numPositions = 0;
var sumPositions = 0.00;
var numOrders = 1;
for (var position of order.positions) {
if (position.statusCode == "40226") {
numPositions++;
sumPositions += (position.priceOut * position.quantityFinal);
}
}
if (typeof purchase[order.userId] != "undefined") {
numOrders += purchase[order.userId].numOrders;
numPositions += purchase[order.userId].numPositions;
sumPositions += purchase[order.userId].sumPositions;
}
purchase[order.userId] = {
"numOrders": numOrders,
"numPositions": numPositions,
"sumPositions": Number((sumPositions).toFixed(2))
};
sumPositions = 0.00;
numPositions = 0;
numOrders = 1;
}
ordersData[period] = purchase;
}
console.log(ordersData);
Вот это подозрительная строчка:
ordersData[period] = purchase;
Вы всем ordersData[period]
назначаете одно и то же.
var ordersData = {}/*, purchase = {}*/;
for (var period in periods) {
var purchase = {};
...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Кто может подсказать в чем причина? Когда нажимаю кнопку отправить, полученное значение становится NaN
Имеется приложение, в котором активно используются глобальные переменныеЕсть опасения, что это будет сильно нагружать систему
Есть код, который при вводе в input прерывает вызов функции callSearch, если после последнего ввода символа не прошло 2х секунд, помогите разобраться...