2011-08-22 31 views
1

我需要的,如果一個密鑰符合特定值,例如過濾的數組:的Javascript [jQuery的]濾光器陣列由鍵和值

data = theArray; 
var theColumn = "thc012"; 
var theVal = 4; 
data = $.filter(data, theColumn, theVal); 

,然後將結果將是相匹配theColumn = theVal ;使得所有數組項

我已經在使用jQuery庫,所以如果有jQuery的幫助,請使用它們。

謝謝

回答

2

Javascript對象是鍵值對。你可以使用它們。 像這樣:

var data = { 
    "cars": ["Honda", "Toyota", "Subaru"], 
    "planes": ["Boeing", "Airbus", "Mig"] 
}; 
var key = "cars"; 
data[key]; // All cars 
key = "planes"; 
data[key]; // All planes 
1

我認爲你正在尋找的grep方法:jQuery.grep

然後只是來檢查,如果theColumn = theKey;

+0

好的,這看起來像它的效果很好,但我正在動態地傳遞我的數據,所以對於考試把'key'設置在一個變量中。這意味着我做'el.theColumn','theColumn'是鍵名的變量,'el'是數組,它實際上查找鍵名'theColumn',而不是什麼值如果這有意義,變量'theColumn'是嗎? – rickyduck

+0

我不認爲我理解。你能舉一個實際值的例子嗎? –

+0

http://pastebin.com/vm2AueAx - data是一個json數組 – rickyduck

0

,如果我正確地理解這個問題的一個功能是提供應該這樣做

$.each(data,function(row,key){ 
    if(key != theKey && theColumn != theColumn){ 
     delete data[key]; 
    } 
});