Использование _.some | _.ано правильно для lo-dash или подчеркивания
Я пытаюсь посмотреть, будет ли какой-нибудь из дней '01 -01 '(начало года)
_.some(a.days, function(day){ console.log(day.date.format('DD-MM')) }, "01-01")
Производит этот массив дат в моей консоли:
01-01
02-01
03-01
04-01
05-01
06-01
07-01
Итак, я бегу без console.log
так:..
_.some(a.days, function(day){ day.date.format('DD-MM') }, "01-01")
И он возвращает:
false
Странно, а? Как вы думаете, что я делаю неправильно?
Ответы
Ответ 1
Вы неправильно поняли, что такое последний аргумент _.some
. Документация показывает, что это context
или область, под которой работает итератор, но похоже, что вы пытаетесь использовать это как значение для тестирования равенства.
Вам нужно явно выполнить тест равенства самостоятельно.
_.some(a.days, function(day) {
return day.date.format('DD-MM') === "01-01";
});
Ответ 2
Похоже, вы не понимаете, как использовать _.some()
. Обратитесь к документации , и вы увидите, что ваша функция должна вернуть true
или false
, а последний аргумент будет использоваться как this
в tat-функции.
Вам нужно сделать это вместо:
_.some(a.days,function(day){ return day.date.format("DD-MM") == "01-01";});