jQuery / javascript搜索对象并返回找到的密钥

时间:2017-09-06 12:55:29

标签: jquery object search

我发现这个搜索对象的功能非常好 - 在正常情况下工作正是我正在寻找的,因为它返回一个符合搜索条件的对象数组。

function getObjects(obj, key, val){
  var objects = [];
  for (var i in obj) {
    if (!obj.hasOwnProperty(i)) continue;
      if (typeof obj[i] == 'object') {          
         objects = objects.concat(arguments.callee(obj[i], key, val));    
      } else if (i == key && obj[key] == val){
        objects.push(obj);
    }
  }
  return objects;
}

正如所说'好又甜'(我认为是这样)但是我真正需要做的就是返回'找到'对象的关键。

示例:

var obj = {'key1':{obj1},'key2':{obj2},'key3':{obj3},'key4':{obj4}  }

所以我的'搜索'将是

getObjects(obj, key-to-find, val-to-find)

'搜索'键:值对将是{obj1}或{obj3},即不在'第一'级别。我如何调整上面的函数给我结果

[{'key1':{obj1},'key3':{obj3} }]

建议请。非常感谢

0 个答案:

没有答案