Maison > Questions et réponses > le corps du texte
J'ai un tableau d'objets comme indiqué ci-dessous :
var events = [ { date: "18-02-2016", name: "event A" }, { date: "22-02-2016", name: "event B" }, { date: "19-02-2016", name: "event C" }, { date: "22-02-2016", name: "event D" } ];
J'ai une date, par exemple "22-02-2016". Comment obtenir un tableau de tous les objets dont la date est la même qu’une date donnée ? Donc, dans cet exemple, je vais obtenir les événements B et D.
P粉7712333362024-01-30 09:56:44
UserArray.prototype.filter() est le suivant :.
var filteredEvents = events.filter(function(event){ return event.date == '22-02-2016'; });
P粉4890817322024-01-30 09:39:20
Vous pouvez utiliser la fonction filter()
du tableau :
function filter_dates(event) { return event.date == "22-02-2016"; } var filtered = events.filter(filter_dates);
filter_dates()
Les méthodes peuvent être autonomes, réutilisées comme dans cet exemple, ou intégrées en tant que méthodes anonymes - le choix vous appartient entièrement =]
Une alternative rapide/facile est une simple boucle :
var filtered = []; for (var i = 0; i < events.length; i++) { if (events[i].date == "22-02-2016") { filtered.push(events[i]); } }