次のようなオブジェクトがあります。
var arr = {};
arr.planes = { prop1 : 'a', prop2 : 'b', prop3 : 'c' };
arr.trains = { prop1 : 'x', prop2 : 'y', prop3 : 'z' };
arr.autos = { prop1 : 'red', prop2 : 'orange', prop3 : 'blue' };
ネストされたキーと値のペアに基づいて、最も外側の配列のキー (または複数ある場合はキーの配列) を返す関数 (高速で効率的な) を作成しようとしています。何かのようなもの:
function getKey(obj, prop, val) {
// do some stuff...
return key;
}
var myKey = getKey(arr, 'prop2', 'orange');
myKey の値は「autos」である必要があります。
これはいくつかのネストされた for ループで実行できると確信していますが、これらの配列はかなり大きく、特に jquery の grep() を使用すると、もっと良い方法が必要になると思います... またはそうでないかもしれません -私は今のところ困惑しています。
どんな洞察も大歓迎です!!