Простой вопрос: есть ли лучший способ хранить значения JSON в виде массива, чем я? Код включен - PullRequest
0 голосов
/ 15 августа 2011

Вот мой метод к этому:

<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 ]

1 голос
/ 15 августа 2011

Я пропустил вызов $ .ajax; поскольку вы используете jQuery, вы также можете сделать это:

var homeTeams = [];
data.gms.each(function(index, element) {
  homeTeams.push(element);
});
1 голос
/ 15 августа 2011

В новых браузерах вы можете использовать map()

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

В старых браузерах ваш подход хорош. Тем не менее, использование push() может быть более производительным:

var homeTeams = [];

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

Edit:

Так как вы используете jQuery, вы можете использовать $.map()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...