mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-04 07:29:47 +08:00
Fix/code smells (#1338)
* ♻️ refactor: improving and fixing some code * Updated Documentation in README.md * ♻️ refactor: improving isLeapYear * 🐛 chore: back changes * 🐛 fix: using reduce instead forEach * 🐛 fix: using reduce instead forEach * 🐛 fix: removing duplicated code * 🐛 chore: removing .js --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
* And prints out the month's calendar.
|
||||
* It uses an epoch of 1/1/1900, Monday.
|
||||
*/
|
||||
import { isLeapYear } from '../Maths/LeapYear'
|
||||
|
||||
class Month {
|
||||
constructor () {
|
||||
@ -51,11 +52,6 @@ class Month {
|
||||
return dateOb
|
||||
}
|
||||
|
||||
isLeapYear (year) {
|
||||
if (((year % 400) === 0) || (((year % 100) !== 0) && ((year % 4) === 0))) return true
|
||||
return false
|
||||
}
|
||||
|
||||
isGreater (startDate, endDate) {
|
||||
if (startDate.year > endDate.year) {
|
||||
return true
|
||||
@ -79,16 +75,16 @@ class Month {
|
||||
}
|
||||
let diff = 0
|
||||
while (startDate.year !== endDate.year) {
|
||||
diff += (this.isLeapYear(startDate.year)) ? 366 : 365
|
||||
diff += (isLeapYear(startDate.year)) ? 366 : 365
|
||||
startDate.year = startDate.year + 1
|
||||
}
|
||||
while (startDate.month !== endDate.month) {
|
||||
if (startDate.month < endDate.month) {
|
||||
if (this.isLeapYear(startDate.year)) diff += this.monthDaysLeap[startDate.month]
|
||||
if (isLeapYear(startDate.year)) diff += this.monthDaysLeap[startDate.month]
|
||||
else diff += this.monthDays[startDate.month]
|
||||
startDate.month = startDate.month + 1
|
||||
} else {
|
||||
if (this.isLeapYear(startDate.year)) diff -= this.monthDaysLeap[startDate.month - 1]
|
||||
if (isLeapYear(startDate.year)) diff -= this.monthDaysLeap[startDate.month - 1]
|
||||
else diff -= this.monthDays[startDate.month - 1]
|
||||
startDate.month = startDate.month - 1
|
||||
}
|
||||
@ -103,7 +99,7 @@ class Month {
|
||||
let Month2 = this.parseDate(date)
|
||||
day = (this.isGreater(Month2, this.epoch)) ? this.Days[difference] : this.BDays[difference]
|
||||
Month2 = this.parseDate(date)
|
||||
if (this.isLeapYear(Month2.year)) this.printCal(this.monthDaysLeap[Month2.month], day)
|
||||
if (isLeapYear(Month2.year)) this.printCal(this.monthDaysLeap[Month2.month], day)
|
||||
else this.printCal(this.monthDays[Month2.month], day)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user