Итерирование в течение нескольких недель в дате-fns

Я использую библиотеку date-fns для создания календаря, и мне нужно получать недели в течение месяца.

let start = startOfMonth(date)
let end = endOfMonth(date)
let firstWeek = getISOWeek(start)
let lastWeek = getISOWeek(end)

let weeks = []

for (let i = firstWeek; i < lastWeek + 1; i++) {
  weeks.push(i)
}

return weeks

Это хорошо работает в течение большинства месяцев, за исключением месяца декабря, где недели пусты, потому что firstWeek и lastWeek составляют «48» и «1» соответственно.

Я знаю, что могу исправить это с помощью более сложного цикла, чтобы проверить, будет ли каждая итерация выше или ниже предыдущей, но мне интересно, есть ли более естественный / простой способ достичь этого с помощью date-fns (или es6).

javascript,ecmascript-6,date-fns,

0

Ответов: 0

Итерирование в течение нескольких недель в дате-fns

Я использую библиотеку date-fns для создания календаря, и мне нужно получать недели в течение месяца.

let start = startOfMonth(date)
let end = endOfMonth(date)
let firstWeek = getISOWeek(start)
let lastWeek = getISOWeek(end)

let weeks = []

for (let i = firstWeek; i < lastWeek + 1; i++) {
  weeks.push(i)
}

return weeks

Это хорошо работает в течение большинства месяцев, за исключением месяца декабря, где недели пусты, потому что firstWeek и lastWeek составляют «48» и «1» соответственно.

Я знаю, что могу исправить это с помощью более сложного цикла, чтобы проверить, будет ли каждая итерация выше или ниже предыдущей, но мне интересно, есть ли более естественный / простой способ достичь этого с помощью date-fns (или es6).

00JavaScript, ECMAScript-6, дата-FNS,
Похожие вопросы