[英]Filter an array of objects based on filter criteria in another array of objects: JavaScript
[英]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.