【问题标题】:array() function returns an objectarray() 函数返回一个对象
【发布时间】:2017-12-05 20:24:22
【问题描述】:

我对 discord.js 有疑问
我试图让所有与let gplayers = games_array[0].role.members 有角色的玩家,但由于它返回一个类似于{"123" => GuildMember {}, "456" => GuildMember {} ...} 的对象,我只需要"123""456" 对象我尝试使用let gplayers = games_array[0].role.members.array() 和然后使用gplayers[i]m 但它没有用。
我试图检查出了什么问题,我发现gplayers 是一个对象,即使我使用了array() 函数。

console.log('Members: ', JSON.stringify(games_array[0].role.members, null, 4)) 记录Members: {}

如何将对象存储在数组中?

【问题讨论】:

    标签: javascript arrays node.js discord discord.js


    【解决方案1】:

    您可以遍历键(在本例中为“123”、“456”等)并将它们的值推送到新数组中。

    let players = [];
    let members = games_array[0].role.members;
    for(key in members) {
        players.push(members[key]);
    }
    

    【讨论】:

    • 我试过了,还是不行。我登录了gplayers,它说这是一个集合,实际上只有'123' => GuildMember {things},没有像a: '123'这样的属性和值
    • 好的。帮我们一个忙,并使用console.log('Members: ', JSON.stringify(games_array[0].role.members, null, 4)) 注销您从会员那里得到的信息,这将向您展示会员在 JSON 格式中的样子,并带有一些不错的间距。将打印出来的任何内容添加到您的帖子中,以便我们查看数据的样子,我们可以为您提供更好的帮助:)
    • 发布更多代码。如果我们能够获取并使用数据,我们可以提供更好的帮助。
    【解决方案2】:

    你可以使用for-in循环来循环返回对象的属性

    var gplayers = games_array[0].role.members;
    var key;
    for (key in gplayers) {
        // do whatever you want here
        // you can access the key's associated value as gplayers[key]    
    }
    

    【讨论】:

    • 我试过了,还是不行。我登录了gplayers,它说这是一个集合,实际上只有'123' => GuildMember {things},没有像a: '123'这样的属性和值
    【解决方案3】:

    你可以在最近的引擎中使用Object.values

    let players = Object.values(games_array[0].role.members)

    【讨论】:

    • 我试过了,还是不行。我登录了gplayers,它说这是一个集合,实际上只有'123' => GuildMember {things},没有像a: '123'这样的属性和值
    【解决方案4】:

    我终于找到了解决办法:我用了这个方法

    collection.forEach(function(guildMember) {
      //guildMember is now a User object, and I can do everything using properties
      console.log(guildMember.user.username);
    })
    

    解决线程:Loop through Snowflake array

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-02
      • 2012-07-17
      • 2015-08-29
      • 2018-12-29
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多