Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery grep()过滤JSON数组_Jquery_Arrays_Json_Grep - Fatal编程技术网

使用jQuery grep()过滤JSON数组

使用jQuery grep()过滤JSON数组,jquery,arrays,json,grep,Jquery,Arrays,Json,Grep,我在这个网站上搜索了很多例子,但似乎不能满足我的需要。我只需要使用过滤一些JSON结果 以下是我的JSON: var数据={“项”:[ { “id”:1, “类别”:“cat1” }, { “id”:2, “类别”:“cat2” }, { “id”:3, “类别”:“cat1” } ]} 用上面的例子 如何返回类别为cat1的所有项目 我如何返回类别为cat1和id为3的所有项目 我知道这不是一个很好的例子,但任何帮助都会很棒!谢谢 我尝试了以下的变化 data.item

我在这个网站上搜索了很多例子,但似乎不能满足我的需要。我只需要使用过滤一些JSON结果

以下是我的JSON:

var数据={“项”:[
{
“id”:1,
“类别”:“cat1”
},
{        
“id”:2,
“类别”:“cat2”
},
{
“id”:3,
“类别”:“cat1”
}
]}

用上面的例子

  • 如何返回类别为cat1的所有项目
  • 我如何返回类别为
    cat1
    id
    为3的所有项目
我知道这不是一个很好的例子,但任何帮助都会很棒!谢谢

我尝试了以下的变化

data.items=$.grep(data.items,函数(元素,索引){
返回元素.id==1;
console.log(数据项);
});
returnedData返回一个对象数组,因此您可以通过数组索引访问它

var数据={
“项目”:[{
“id”:1,
“类别”:“cat1”
}, {
“id”:2,
“类别”:“cat2”
}, {
“id”:3,
“类别”:“cat1”
}, {
“id”:4,
“类别”:“cat2”
}, {
“id”:5,
“类别”:“cat1”
}]
};
//过滤数字数组,使其仅包含大于零的数字。
//你想要的确切数据。。。
var returnedData=$.grep(data.items,function(element){
return element.category==“cat1”和&element.id==3;
},假);
控制台日志(返回的数据);
$('#id').text('id为:-'+returnedData[0].id)
$('#category').text('类别为:-'+returnedData[0]。类别)
//过滤数字数组以包含不大于零的数字。
//您不需要的确切数据。。。
var returnedOppositeData=$.grep(data.items,function(element){
return element.category==“cat1”;
},对);
console.log(返回对方数据)


你读过吗?你尝试过什么吗?循环所有项目,将它们保存到一个新变量并返回该变量?是的,我已经阅读了文档,我尝试了许多不同的示例组合,我将示例添加到我的帖子中。除了放错位置的
console.log()
,在您的示例中,我看不到这个问题。看起来这对我来说很好:。我将console.log放在了错误的位置,所以我没有看到它。
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);