簡體   English   中英

使用jquery grep過濾對象數組,但條件是變量

[英]Filter an array of objects with jquery grep but the criteria is a variable

我正在嘗試過濾對象數組。 但是要過濾的對象的屬性在其他地方定義為變量,而不是100%如何構造點表示法語法。

所以我有一個這樣的數組對象

var listings = [
    {"id" : "1", "name":"a name", "surname" : "a surname"},
    {"id" : "2", "name":"b name", "surname" : "b surname"},
    {"id" : "3", "name":"c name", "surname" : "c surname"}
]

我有一個變量,用於指定要過濾對象的屬性。 此變量並非始終設置為name。 在上面的示例中,它可以在id,name或surname上。

var filter = 'id'

過濾器val要查找的var

var filterVal = '2'

然后我有這個grep電話。

listings = $.grep(listings, function (obj, index) {
return  obj.id === filterVal;
});

但是,除了要對obj.id進行硬編碼之外,我需要這樣的東西:

obj."value of filter variable" === filterVal

提前致謝

您可以使用方括號符號代替點符號。

var idKey = "name";
$.grep(listings, function (obj) {
    return obj[idKey] === filterVal;
});

暫無
暫無

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

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