我有一个看起来像这样的对象:
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()函数,一定有更好的方法...或许没有-我只是目前被困住了。
任何见解都将不胜感激!!
myKey
的值不应该是autos
吗? - jbabey