使用jQuery grep()过滤JSON数组
我在这个网站上搜索了很多例子,但似乎不能满足我的需要。我只需要使用过滤一些JSON结果 以下是我的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
var数据={“项”:[
{
“id”:1,
“类别”:“cat1”
},
{
“id”:2,
“类别”:“cat2”
},
{
“id”:3,
“类别”:“cat1”
}
]}
用上面的例子
- 如何返回类别为cat1的所有项目
- 我如何返回类别为
和cat1
为3的所有项目id
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);