簡體   English   中英

JSON上的jQuery where子句

[英]Jquery where clause on json

假設我有一個示例json數據,例如:

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

現在如何僅返回包含cat1的數據

我已經嘗試過像jquery grep

var returnedData = $.grep(data.items, function (element, index) {
return element.category.indexOf("cat1") == 1;
});

但這並沒有給我正確的輸出,該輸出應該返回第一個和第二個對象。

謝謝。

indexOf返回index0...n數組中的位置);如果數組中不存在值, 返回-1 您需要更改條件才能檢查> -1.上的index > -1. 在您的變體中,您始終檢查index == 1 ,但是cat1 index 0-這就是為什么您得到空結果的原因。

var returnedData = $.grep(data.items, function (element) {    
  return element.category.indexOf('cat1') >= 0;
});

使用Array.filter

var filteredData = data.items.filter(function(item) {
    return item.category.indexOf("cat1") > -1;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM