suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Filterarray basierend auf Objekteigenschaften

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粉331849987P粉331849987289 Tage vor359

Antworte allen(2)Ich werde antworten

  • P粉771233336
  • P粉489081732

    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]);
        }
    }

    Antwort
    0
  • StornierenAntwort