当前位置: 首页 > 面试题库 >

使用jQuery grep()过滤JSON数组

方昊阳
2023-03-14
问题内容

我在此站点上搜索了许多示例,但似乎无法满足我的需求。我只需要使用过滤一些JSON结果grep()

以下是我的JSON:

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

上面的例子

  • 如何退回所有类别为的项目cat1
  • 我将如何退回所有类别为cat1id的项目?

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

我尝试了以下变化

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

returnData返回一个对象数组,因此您可以按数组索引访问它。

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



 类似资料:
  • 问题内容: 我有一个包含JSON对象的数组(_users)。 1-如何仅过滤具有“活动”:“ 1”而不是“ 0”的用户 我已经尝试过这样的事情: 但无法为我正常工作。 谢谢! 问题答案: 由于您的对象模型有点复杂,因此我建议您使用自定义过滤功能: 然后在您的HTML中: 这是工作中的jsFiddle:http : //jsfiddle.net/pkozlowski_opensource/4kzzy

  • 问题内容: 我花了很多时间为我的问题找到解决方案。 在此示例中,我在SetNavRecords数组中有2条记录。第一个是 “ Artikelnummer”:“ 21700” ,第二个是 “ Artikelnummer”:“ 21701” 每个记录都有一个数组“ OfflineVerkaufspreis”。 对我来说重要的是“ OfflineVerkaufspreis”中的“ Location_Co

  • 我使用Room和RxJava,我想使用第二个的功能来过滤来自第一个的数据。 假设房间是返回用户。 谢谢

  • 下面的代码被修改为不包括我的数据库中的任何数据。 然后将其传递到initialize方法中,在该方法中进行表的实际填充。 顺便说一下,Users类如下所示: 该程序按预期工作,我可以看到与图像和VBox的详细信息的表格。 现在我想添加一个TextField来过滤表,过滤参数是标签中的文本。 我明白了,我需要将ObservableList放入FilteredList中,然后放入SortedList中

  • 我有一个任意定义的JSON文档,我希望能够应用一个JSONPath表达式,就像属性的白名单过滤器:所有选定的节点及其祖先返回到根节点,所有其他节点都被删除。如果节点不存在,我应该得到一个空文档。 JSON. Net中似乎没有类似的东西,我在任何地方都找不到类似的例子,所以我建立了自己的例子。我选择将选定的节点复制到新构建的文档中,而不是尝试删除所有不匹配的节点。鉴于可能存在多个匹配项,并且文档可能

  • 我想过滤以下JSON。 我如何将映射函数与过滤器一起使用,而不是。我的想法如下。但它不起作用。 我该怎么办? 谢谢