2016-10-07 100 views
1

我想過濾一些JSON數據,但是我想查找是基於選擇的下拉菜單。然而,當我嘗試這樣做時,我無法獲得正確的語法。目前在我的代碼中,以下作品很好:用var查詢JSON查詢數據的語法(不是條件)

var as = $(json).filter(function (i, n) { 
    return (n.FIELD1 === "Yes" 
}); 

但是,我想要做的是用下拉列表中的var替換FIELD1值。類似下面的東西,這是行不通的:

var dropdownResult = "FIELD1"; 
var as = $(json).filter(function(i, n) { 
    return (n.dropdownResult === "Yes" 
}); 

我試圖讓var變成n後的字段名稱。但它不起作用。

謝謝你的時間。對不起,如果這已經回答了很多次,並且對你很明顯。

+0

什麼是'$(JSON)使用一個布爾值'怎麼辦呢? '$()'的參數應該是選擇器或HTML,而不是JSON。這應該是'JSON.parse(json)'。 – Barmar

回答

0

使用變量值作爲一個對象,你應該使用括號標記,像這樣的關鍵:

var dropdownResult = "FIELD1"; 
var as = $(json).filter(function(i, n) { 
    return n[dropdownResult] === "Yes"; 
}); 

我刪除您在代碼中留下的多餘( - 我想這只是一個錯字作爲它會創建一個語法錯誤並停止你的代碼工作。

另外請注意,這是更好的做法在字符串'Yes'/'No'

+0

非常感謝。我不確定通過它的不同方式,但是這完全按照我想要的方式工作。 –