比较多个JSON数组

时间:2012-04-16 17:44:24

标签: javascript arrays json

我有3个数组,如下所示。我无法控制数组。

groups_array = [ {
    "group" : "Mobile Test Region",
    "id" : "251"
}, {
    "group" : "Mobile Demo Region",
    "id" : "252"
} ]
locations_array = [ {
    "location" : "M Testing",
    "id" : "1376"
}, {
    "location" : "Trade Show Machine",
    "id" : "1403"
}, {
    "location" : "M Trailer",
    "id" : "1471"
}, {
    "location" : "Test Los Angeles",
    "id" : "1475"
} ]
pairs_array = [ {
    "location_id" : "1376",
    "group_id" : "251"
}, {
    "location_id" : "1475",
    "group_id" : "251"
}, {
    "location_id" : "1403",
    "group_id" : "252"
}, {
    "location_id" : "1471",
    "group_id" : "252"
} ]

以下是我用来遍历pairs_array并检索与组ID对应的location_id的代码。 Ti.API.info(pairs_array [S] .location_id);根据使用e.rowData.groupid给出的groupid输出2个位置ID。

for (var s = 0; s < pairs_array.length; s++) {
    if (e.rowData.groupid === pairs_array[s].group_id) {
        Ti.API.info(pairs_array[s].location_id); 
    }
}

我正在尝试比较字符串并使用来自IF语句的location_id来检索位置名称。我应该将结果推送到数组并循环遍历location_array和结果并进行比较吗?如果是这样,我希望看到一个很好的代码片段,因为我尝试过几次没有得到预期的输出。

1 个答案:

答案 0 :(得分:0)

for (var s = 0; s < pairs_array.length; s++) {
    if (e.rowData.groupid === pairs_array[s].group_id) {
        Ti.API.info(pairs_array[s].location_id); 

        // find location name
        for(var t = 0; t < locations_array.length; t++)
        {
            if(locations_array[t].id == pairs_array[s].location_id)
            {
                location_name = locations_array[t].location;                        
            }
        }
    }
}