У меня есть задание сделать программу календарь, пытаюсь сделать цикл в функции но выводится undefined

var getDayOfWeek = function(day, numberDay){
  var week = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
  for (var i = week[day]; i <= 31; i++){
    week.push(week[i]);
    var weekDay = week[numberDay]
  }
  return weekDay;
};

getDayOfWeek(10, 20);

/* Напиши для меня программу-календарь.

Оформи программу в виде функции getDayOfWeek. У неё должно быть два параметра: день недели, на который выпадает первое число месяца, и число, для которого нужно найти день недели в этом месяце.

Функция должна возвращать строку с названием для недели. Название должно быть написано с маленькой буквы в именительном падеже: 'понедельник', 'вторник' и так далее.

*/


Ответы (1 шт):

Автор решения: Leonid

const getDayOfWeek = function(day, numberDay){
  const week = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
  return week[(numberDay + day - 1)%7];  // -1 если понедельник это 0, и -2 если понедельник 1 (в аргументах)
  
  }
console.log(getDayOfWeek(1,14));

А так, если вводить по названию:

const getDayOfWeek = function(day, numberDay){
  const week = ['понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
  return week[(numberDay + week.indexOf(day) - 1)%7];  
  
}
  
console.log(getDayOfWeek('понедельник', 3));

→ Ссылка