J'essaie de voir si l'un des jours est '01 -01 '(le début de l'année)
_.some(a.days, function(day){ console.log(day.date.format('DD-MM')) }, "01-01")
Produit ce tableau de dates dans ma console:
01-01
02-01
03-01
04-01
05-01
06-01
07-01
Alors je cours sans le console.log
ainsi .. :
_.some(a.days, function(day){ day.date.format('DD-MM') }, "01-01")
Et ça revient:
false
Étrange, hein? Que pensez-vous que je fais mal?
Vous avez mal compris quel est le dernier argument à _.some
est. documentation montre que c'est le context
, ou la portée, sous lequel la fonction itérateur s'exécute, mais il semble que vous essayez de l'utiliser comme valeur pour les tests d'égalité.
Vous devrez exécuter explicitement le test d'égalité vous-même.
_.some(a.days, function(day) {
return day.date.format('DD-MM') === "01-01";
});
Vous semblez mal comprendre comment utiliser _.some()
. Consultez la documentation et vous verrez que votre fonction doit retourner true
ou false
, et le dernier argument sera utilisé comme this
dans fonction tat.
Vous devez le faire à la place:
_.some(a.days,function(day){ return day.date.format("DD-MM") == "01-01";});