过滤JavaScript对象

时间:2015-07-10 07:06:09

标签: javascript jquery json filter

我在浏览器控制台中有一个类似于此的Java脚本

https://www.dropbox.com/s/53spm6lf7o6oa8z/Selecci%C3%B3n_2015-07-10-001.png

我想要做的是根据属性的内容返回一个过滤的对象" class" ...我一直在研究JQuery的.grep()或.filter( )但它们不能正常工作,因为这个对象不是一个数组,而且我无法转换成一个......

我会欣赏指向正确方向的指针

3 个答案:

答案 0 :(得分:0)

// object
var obj = your_obj;
var matchedClass = "your_matched_class";
var filteredObj = {};
for (var key in obj) { // iterating over object and checking for class
  if (obj.hasOwnProperty(key) && obj[key].class === matchedClass) {
       filteredObj[key] = obj[key]; 

  }
}

答案 1 :(得分:0)

如果您正在寻找一个工具/框架来轻松实现这一点,那么听起来就像您在lodash

之后

它支持_.filter,以及其他方便的功能,这些功能可能有助于您之后的处理。如果您可以更具体地了解所需的输出,我们可以帮助您找到具体的答案。

答案 2 :(得分:0)

您可以使用以下内容迭代对象的键:

var keys = Object.keys(myObj)

然后过滤键列表:

var matchingKeys = keys.filter(function(key) {
   return myObj[key].class === 'somevalue')`
}

然后从对象中抓取这些键。