jQuery $ .each - 指定您指的是哪个对象/子对象?

时间:2014-02-12 09:51:33

标签: jquery json

之前我问了一个类似的问题,虽然我的代码工作了(然后),但我不明白发生了什么。

我的功能:

function matchesfill(){
    $.each(json.result.matches, function(i, v) {
        if (i.lobby_type == 7){
            matches[x] = i.match_id;
            x=x+1;
            console.log('match added to array');
        }
        else{
            console.log('match skipped: non-ranked');
        }
        });
        return;
}

目前,在运行时,控制台只会记录match skipped所有内容,即使这是不正确的。它应该只有1个匹配项被跳过。

和jSON:

{
    "result": {
        "status": 1,
        "num_results": 10,
        "total_results": 500,
        "results_remaining": 490,
        "matches": [
            {
                "match_id": 515853415,
                "match_seq_num": 469991846,
                "start_time": 1392156202,
                "lobby_type": 7,
                "players": [

编辑:我道歉,我阅读了文档并理解了它们的含义,但我仍然不明白为什么我的代码无效。

提前感谢您对新学员的耐心。

1 个答案:

答案 0 :(得分:1)

正如文档中所述,i是索引,v是值,因此您必须使用v

if (v.lobby_type == 7)

文档:https://api.jquery.com/jQuery.each/