Heim > Fragen und Antworten > Hauptteil
Ich habe eine Reihe von Objekten wie unten gezeigt:
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" } ];
Ich habe ein Datum, zum Beispiel „22.02.2016“. Wie erhalte ich ein Array aller Objekte, deren Datum mit einem bestimmten Datum übereinstimmt? In diesem Beispiel erhalte ich also die Ereignisse B und D.
P粉7712333362024-01-30 09:56:44
用户Array.prototype.filter()如下:。
var filteredEvents = events.filter(function(event){ return event.date == '22-02-2016'; });
P粉4890817322024-01-30 09:39:20
您可以使用数组的 filter()
功能:
function filter_dates(event) { return event.date == "22-02-2016"; } var filtered = events.filter(filter_dates);
filter_dates()
方法可以是独立的,如本例所示,可以重用,也可以作为匿名方法内联 - 完全由您选择 =]
一个快速/简单的替代方案就是一个简单的循环:
var filtered = []; for (var i = 0; i < events.length; i++) { if (events[i].date == "22-02-2016") { filtered.push(events[i]); } }