У меня есть функция, которая принимает 2 аргумента.Первый аргумент - это текущий день недели (число 1-7 для понедельника - воскресенья), а второй аргумент - это объект, который может иметь различное количество свойств и значений: например,
example1 = {day1: 5, day2: 2, day3: 1, day4: 7};
example2 = {day1: 2, day2: 4, day3: 5};
example3 = {day1: 2, day2: 6};
Iхотите узнать следующий день (если текущий день найден, следующий день - текущий день) в объекте в зависимости от текущего дня недели.Например: в субботу (currentDay = 6) ожидаемый выходной файл example1 будет равен 7, выходной файл example2 будет равен 2, а выходной файл example3 будет равен 6. Объект также может быть пустым (тогда возвращаемое значение будет равно currentDay),Моя идея состояла в том, чтобы перебрать объект и вычислить день минус текущий день, чтобы наименьшее число было на следующий день.Если все числа отрицательны, у нас новая неделя.Я довольно новичок в JavaScript.Вот моя попытка, но я не могу заставить ее работать должным образом.
_determineNextDay = (currentDay, days) => {
let negativeCheck = 0;
let nextDay = currentDay;
let countDays = 0;
let calc = 0;
for (let i in days) {
countDays++;
calc = days[i] - currentDay;
if (calc < 0) {
negativeCheck++;
};
if (calc >= 0 && calc < nextDay) {
nextDay = calc + currentDay;
};
};
calc = 0;
if (negativeCheck == countDays && countDays > 0) {
for (let i in days) {
calc = days[i] - currentDay;
if (calc < nextDay) {
nextDay = calc;
};
};
nextDay = nextDay + currentDay;
};
return nextDay;
};