Проверьте все выходные динамически из данных API с помощью moment.js в реакции - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь проверить выходные в своем коде реакции. Я использую момент.js и данные API. Я хочу вернуть все нерабочие дни, а именно субботу и воскресенье, в массиве и распечатать его в консоли.

Как я могу динамически выполнить весь нерабочий день, используя moment.js

Stackblitz - Оригинальный код

API DATA

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Вы можете использовать функцию фильтра в chartData:

const filterDates = (dateStr) => {
    let day = moment(dateStr).day();
    return day == 0 || day == 6;
}

const Timedata = this.state.chartData.filter( i => filterDates(i.date) );

Это вернет список объектов. Вам также необходимо обновить функцию рендеринга, чтобы она использовала Timedata.

Timedata.map( (obj) => {
    ...
})
0 голосов
/ 31 октября 2018

Этого можно добиться с помощью метода массива фильтров ES6:

const arrayOfWeekendItems = chartData.filter(item => {
  // Get day of provided data 
  const day = moment(item.date).day()
  // Return true if it's saturday or sunday, either false
  return day === 6 || day === 0
})
const sequence = arrayOfWeekendItems.map(item => item.date)

Помните, что правильный номер дня может быть осторожным, в зависимости от момента.

...