我有一个看起来与此类似的对象:
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' };
我正在尝试编写一个函数(快速且高效),它将基于嵌套在其中的键/值对返回最外层数组的键(或键的数组,如果有超过 1 个)。就像是:
function getKey(obj, prop, val) {
// do some stuff...
return key;
}
var myKey = getKey(arr, 'prop2', 'orange');
myKey 的值应该是“autos”。
我很确定这可以通过几个嵌套的 for 循环来完成,但是这些数组相当大,我认为,尤其是使用 jquery 的 grep(),必须有更好的方法......或者可能没有 -我现在只是难住了。
任何见解将不胜感激!