Ребята, вы можете поверить, что уже почти пятница?? Я с нетерпением жду выходных, особенно потому, что я могу посмотреть футбол! В некоторых других новостях премьер-лига заявила, что готова возобновить игру 17 июня. Приятно видеть, что некоторые вещи возвращаются к норме. В любом случае, для сегодняшней проблемы с алгоритмом я должен вернуть день недели для введенного года, месяца и дня. Вот пример:
Input: day = 31, month = 8, year = 2019 Output: "Saturday" Input: day = 18, month = 7, year = 1999 Output: "Sunday" Input: day = 15, month = 8, year = 1993 Output: "Sunday"
Итак, я начал с создания некоторых условий для месяца, потому что я думал, что каждый второй месяц длится 31 день, но я дважды проверил, и оказалось, что июль, и август оба имеют длину 31 день, так что очевидно, что этот подход не мог Работа. Я начал выяснять, есть ли в JavaScript какой-то встроенный способ узнать день недели, и наткнулся на возможное решение, в котором я могу использовать класс Date и в значительной степени получить день недели после вызова метода этого класс, прикольно. Вот как это выглядит в коде:
var dayOfTheWeek = function(day, month, year) { let date =new Date(year+"."+month+"."+day); let n = date.getDay(); let dayMap={ 0:"Sunday", 1:"Monday", 2:"Tuesday", 3:"Wednesday", 4:"Thursday", 5:"Friday", 6:"Saturday" } return dayMap[n]; };
Я также добавил хеш-таблицу, потому что метод .getDay() возвращает целое число от 0 до 6.
В итоге получилось довольно просто и понятно. В любом случае, если вы, ребята, узнали что-то интересное или думаете, что решение довольно крутое, нажмите кнопку аплодисментов! Если у вас есть лучшие способы решить эту проблему, не стесняйтесь оставить ответ или связаться со мной, спасибо!