オブジェクトの配列をフィルタリングしようとしています。ただし、フィルタリングするオブジェクトのプロパティは、他の場所で変数として定義されており、ドット表記構文を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'
探すフィルター値の変数
var filterVal = '2'
次に、このgrep呼び出しがあります。
listings = $.grep(listings, function (obj, index) {
return obj.id === filterVal;
});
しかし、obj.idをハードコーディングする代わりに、次のようなものが必要です。
obj."value of filter variable" === filterVal
前もって感謝します
ベン