使用jQuery grep()过滤JSON数组

Rid*_*his 39 arrays jquery grep json

我在这个网站上搜索了很多例子,但似乎无法满足我的需求.我只需要使用过滤一些JSON结果grep().

以下是我的JSON:

var data = { "items": [
    {
        "id":       1,
        "category": "cat1"
    },
    {        
        "id":       2,
        "category": "cat2"
    },
    {
        "id":       3,
        "category": "cat1"
    }
]}
Run Code Online (Sandbox Code Playgroud)


通过上面的例子

  • 我如何归还所有类别的项目cat1
  • 我如何将返回所有项目与类别cat1id3?

我知道这不是一个很好的例子,但任何帮助都会很棒!谢谢!

我尝试过以下各种变体

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

mar*_*rko 53

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);
Run Code Online (Sandbox Code Playgroud)

returnedData返回一个对象数组,因此您可以通过数组索引访问它.

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