jquery JSON grep() का उपयोग करके JSON सरणी फ़िल्टर करना



arrays (1)

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

लौटाया गया ऑब्जेक्ट ऑब्जेक्ट की एक सरणी लौटा रहा है, इसलिए आप इसे ऐरे इंडेक्स द्वारा एक्सेस कर सकते हैं।

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

मैंने इस साइट पर कई उदाहरण खोजे हैं, लेकिन उन्हें अपनी आवश्यकताओं में फिट नहीं कर पाया। मुझे बस grep() का उपयोग करके कुछ JSON परिणामों को फ़िल्टर करने की आवश्यकता है।

नीचे मेरा JSON है:

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


ऊपर के उदाहरण के साथ

  • मैं cat1 की श्रेणी के साथ सभी आइटम कैसे cat1 ?
  • मैं cat1 और id 3 की श्रेणी के साथ सभी आइटम कैसे cat1 ?

मुझे पता है कि यह एक महान उदाहरण नहीं है, लेकिन कोई मदद बहुत बढ़िया होगी! धन्यवाद!

मैंने निम्नलिखित के बदलावों की कोशिश की है

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




grep