简单问题是否有更好的方式将JSON值存储为数组而不是我的方式?包含的代码

时间:2011-08-14 22:23:51

标签: ajax arrays json

以下是我的方法:

<script>
function games(){

document.write("loading");

$.ajax({
    url: "http://allencoded.com/test3.php",
    dataType: 'json',

    success: function (data) {

    var homeTeams = new Array();

    for (var i =0; i < data.gms.length; i++){
        homeTeams[i]=data.gms[i].h }


     }
});

}
</script>

虽然它工作正常。如果可能的话,我只是想找到一种更简单的方法。

2 个答案:

答案 0 :(得分:1)

在较新的浏览器中,您可以使用 map()

var homeTeams = data.gms.map(function (team) { return team.h; });

在较旧的brosers中,你的方法很好。尽管如此,使用push()可能会更高效:

var homeTeams = [];

for (var i =0; i < data.gms.length; i++){
    homeTeams.push(data.gms[i].h);
}

修改

由于您正在使用jQuery,因此您可以使用$.map()

答案 1 :(得分:1)

我错过了$ .ajax电话;因为你正在使用jQuery,你也可以这样做:

var homeTeams = [];
data.gms.each(function(index, element) {
  homeTeams.push(element);
});