with JSON-Array mit jQuery grep() filtern



jquery sort array by key (1)

Ich habe viele Beispiele auf dieser Website durchsucht, kann sie jedoch nicht meinen Bedürfnissen anpassen. Ich muss nur einige JSON-Ergebnisse mit grep() filtern.

Unten ist mein JSON:

var data = { "items": [
    {
        "id":       1,
        "category": "cat1"
    },
    {        
        "id":       2,
        "category": "cat2"
    },
    {
        "id":       3,
        "category": "cat1"
    }
]}


Mit dem obigen Beispiel

  • Wie würde ich alle Artikel mit der Kategorie cat1 ?
  • Wie würde ich alle Artikel mit der Kategorie cat1 und der id 3 zurückgeben?

Ich weiß, dass dies kein gutes Beispiel ist, aber jede Hilfe wäre großartig! Vielen Dank!

Ich habe Variationen der folgenden versucht

data.items = $.grep(data.items, function(element, index) {
    return element.id == 1;
    console.log(data.items);
});

var data = {
    "items": [{
        "id": 1,
        "category": "cat1"
    }, {
        "id": 2,
        "category": "cat2"
    }, {
        "id": 3,
        "category": "cat1"
    }]
};

var returnedData = $.grep(data.items, function (element, index) {
    return element.id == 1;
});


alert(returnedData[0].id + "  " + returnedData[0].category);

Die returnData gibt ein Array von Objekten zurück, sodass Sie über den Array-Index darauf zugreifen können.

http://jsfiddle.net/wyfr8/913/





grep