jquery – .grep对JSON对象

前端之家收集整理的这篇文章主要介绍了jquery – .grep对JSON对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用grep来过滤 JavaScript对象,如下所示:
var options = { 
    5: {
        group: "2",title: "foo"
    },9: {
        group: "1",title: "bar"
    }
};

var groups = $.grep(options,function(e){ return e.group == 2 });

我得到空的结果,我猜这是与封闭对象的非顺序键有关.任何想法如何解决这个问题?

更新

我尝试了几种不同的grep方法,包括使用

for (key in option)

grep on选项[key],但我无法让他上班.最后我走了一条不同的路线,如图所示:

var option_ids = new Array();
for (key in option) {
    if ( option[key]['group'] == 2 ) option_ids.push(option[key]['id']);
}

解决方法

你不能 grep超过一个对象,并期待一个合理的结果.但是,您可以覆盖数组,因此我们只需要使用Object.keys获取一个键列表:
$.grep(Object.keys(options),function (k) { return options[k].group == 2; })
//=> ["5"]

猜你在找的jQuery相关文章