Массив объектов момента имеет неопределенный элемент - PullRequest
0 голосов
/ 26 октября 2018

У меня есть массив из 5 объектов моментов:

const list = [moment(a),moment(b),moment(c),moment(d),moment(e)];

Я могу записать день недели (1-7 / понедельник-воскресенье):

const daysOfTheWeek = list.map(v => v.day());

и яget:

[ 4, 1, 3, 5, 1 ]

сейчас я делаю это:

dates.reduce((a, b) => {
        assert([1, 2, 3, 4, 5].includes(a.day()), 'day is a saturday or sunday, wrong.');
        assert(b > a, 'date is not forward in time.');
    });

но a не определено, почему a или b будут неопределенными в вызове Reduce?

Я получаю ошибку:

 TypeError: Cannot read property 'day' of undefined

Что я здесь пропускаю?

1 Ответ

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

Тьфу да, я забыл вернуть что-то из обратного обратного вызова, поэтому следующее значение не определено.

Это лучше:

dates.reduce((a, b) => {
        assert([1, 2, 3, 4, 5].includes(a.day()), 'day is a saturday or sunday, wrong.');
        assert(b > a, 'date is not forward in time.');
        return b;  // here
    });
...