Цепочка pluck() и flatten() с lodash
Это работает, но как я могу его связать?...
allWeeks = _.flatten(_.pluck(dates.months, 'weeks'))
allDays = _.flatten(_.pluck(allWeeks, 'days'))
Я пробовал:
allDays = _.chain(dates.months).pluck('weeks').flatten().pluck('days').flatten()
И это:
allDays = _(dates.months).pluck('weeks').flatten().pluck('days').flatten()
Ответы
Ответ 1
Вместо того, чтобы удалять этот вопрос из-за явного смущения, я оставлю здесь ответ на любой другой бедный шмак, задающийся вопросом: "Почему чертовски не моя работа lodash?":
Вы должны закончить цепочку с помощью .value()
так что:
allDays = _.chain(dates.months).pluck('weeks').flatten().pluck('days').flatten().value()
и это:
allDays = _(dates.months).pluck('weeks').flatten().pluck('days').flatten().value()
Ответ 2
Вы должны знать, что запуск для Lodash 4.0.0, _.pluck() заменяется на _.map()
например,
var objects = [{ 'a': 1 }, { 'a': 2 }];
// in 3.10.1
_.pluck(objects, 'a'); // → [1, 2]
_.map(objects, 'a'); // → [1, 2]
// in 4.0.0
_.map(objects, 'a'); // → [1, 2]