3

嗯嗯我怎么能这么说。让我们从我的对象的一个​​例子开始:

"data": {
    "events": [
        {
            "event_id": 12345,
            "event_ts_begin": 1358931738000,
            "event_ts_end": 1358931748000,
            "event_severity": "minor",
            "event_code": 23,
            "event_desc": "Completed",
            "event_type": "normal",
            "event_text": "Completed, blah on blah blah blah..."
        },
        {
            "event_id": 12346,
            "event_ts_begin": 1358931738000,
            "event_ts_end": 1358931748000,
            "event_severity": "minor",
            "event_code": 23,
            "event_desc": "Completed",
            "event_type": "normal",
            "event_text": "Completed, blah on blah blah blah..."
        },
        {
            "event_id": 12347,
            "event_ts_begin": 1358931738000,
            "event_ts_end": 1358931748000,
            "event_severity": "minor",
            "event_code": 23,
            "event_desc": "Completed",
            "event_type": "normal",
            "event_text": "Completed, blah on blah blah blah..."
        }
    ]
}

我想做的是如何找出event_id12346 在这个多维对象中的位置,并将该特定数据集本身用作对象。以某种方式将其取出并定义一个临时变量作为该对象,因此它等于:

var tempObj = {
            "event_id": 12346,
            "event_ts_begin": 1358931738000,
            "event_ts_end": 1358931748000,
            "event_severity": "minor",
            "event_code": 23,
            "event_desc": "Completed",
            "event_type": "normal",
            "event_text": "Completed, blah on blah blah blah..."
        };

上面包含多个对象的示例对象,在某些情况下可以是 1,000 多个对象或更多。所以遍历它们并重建一个选项听起来不是一个好主意。所以我希望我能得到一些反馈来提出一个理智的解决方案。

有没有办法可以找到该特定对象的特定索引号以将其用作定义临时变量的方法?

4

1 回答 1

4

您可以使用jQuery.grep函数在数组中查找元素。

var tmpObj = $.grep(data.events, function(obj){
    return obj.event_id == '12347'
});
于 2013-01-24T02:26:22.010 回答