服务器返回数据列表,我想遍历该列表。

数据的结构如下(从浏览器调试器中获取):

javascript - 如何遍历JavaScript中的列表-LMLPHP

和功能:

function (token) {
    hub.server.getOnlinePlayers(token).done(function (onlinePlayers) {
        MyData.nextOnlinePlayersToken = onlinePlayers.Token;
        $.each(onlinePlayers.Items, function () {
            var id = this.userId;
        });
    });
}


直到这行一切正常为止(Token值有意为空):

MyData.nextOnlinePlayersToken = onlinePlayers.Token;


但是调试器的下一行显示onlinePlayers未定义。可能是什么问题?谢谢。

最佳答案

我认为您误认为了$.each()$(selector).each()

$( "li" ).each(function( index ) {
  // here you can access current li element with this.
});


您正在尝试获取调用每个对象的jQuery对象,但是您没有它。我相信在这种情况下,this是全局jQuery对象。

如果使用$.each(),则需要传递索引和值参数

$.each(onlinePlayers.Items, function (index, value) {
   var id = value.userId;
});

09-25 18:20