для того чтобы пройти задание достаточно вот так описать программу, но в испытании не учтено несколько моментов, дело в том что в испытании дата всегда больше 7
var getDayOfWeek = function(day, numberDay) {
var week = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
var dayIndex = 0;
var startDayIndex = week.indexOf(day);
if (numberDay >= 7) {
dayIndex = startDayIndex + (numberDay % 7) - 1;
}
return week[dayIndex];
}
моменты следующие: если дата меньше 7, или например остаток дней в массиве меньше чем остаток от деления даты на длинну массива, в общем вот код который учел все варианты, которых нет в испытании:
var getDayOfWeek = function(day, numberDay) {
var week = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
var dayIndex = 0;
var startDayIndex = week.indexOf(day);
if (numberDay >= 7) {
dayIndex = startDayIndex + (numberDay % 7) - 1;
}
if (numberDay >= 7 && startDayIndex + numberDay % 7 > week.length) {
dayIndex = startDayIndex - (numberDay % 7);
}
if (numberDay < 7 && startDayIndex + numberDay <= week.length) {
dayIndex = startDayIndex + numberDay - 1;
}
if (numberDay < 7) {
dayIndex = numberDay - startDayIndex;
}
if (dayIndex < 0) {
dayIndex = dayIndex * (-1);
}
return week[dayIndex];
}