如何在对象中的对象中获取数字值

时间:2017-01-27 04:11:20

标签: javascript node.js object

我的代码:

 rbx.getPlayers(539310, 1).promise.then(players => {
  console.log(players)
  for (var list in players.players) {
    console.log(list)
    var key = Object.Key(list)
    console.log(Key)
  }
})

输出的内容:

{ total: 9,
 players:
         { AgentJay400: 65910635,
           MatthewHAndreas: 49787909,
           coolguysocoolroblox: 165524669,
           CAMPER5155: 45422370,
           Mavnkei: 69082588,
           kaankerem123: 92305180,
           egehan432: 120777218,
           panpanaber54: 31962303,
           IXTactical_CactusXI: 17451343 } }
AgentJay400
MatthewHAndreas
coolguysocoolroblox
CAMPER5155
Mavnkei
kaankerem123
egehan432
panpanaber54
IXTactical_CactusXI

问题: 我需要每个用户的数值(So {AgentJay4000:65910635}我希望65910635)Node.js似乎没有Object.keys所以...我不知道如何得到这个数字......

3 个答案:

答案 0 :(得分:2)

节点肯定应该有var index = 0; $('#div' + index).show(); $('#next').click(function () { index++; $('#back').prop('disabled', false); if (index === fakeData.length - 1) { $('#next').prop('disabled', true); } $('.items').hide(); $('#div' + index).show(); }); $('#back').click(function () { index--; $('#next').prop('disabled', false); if (index === 0) { $('#back').prop('disabled', true); } $('.items').hide(); $('#div' + index).show(); }); 。如果您的版本没有,您应该更新节点。当你调用Object.keys时会得到一个数组作为回报,所以你可以做一些很棒的数组,比如map,reduce,forEach:

Object.keys

如果您只想要数字值,请映射:

Object.keys(players.players).forEach(function(key) {
  console.log(key, players.players[key])
})

现在你只有一个数字数组。

答案 1 :(得分:0)

尝试这样。您可以使用.运算符访问您的对象值。

假设您有一个对象:

    var obj={
      key1:value1,
      key2:value2
       }

然后访问obj.key1obj['key1']等值。

获取所有值。使用Object.values(obj);



   var obj = { total: 9,
 players:
     { AgentJay400: 65910635,
       MatthewHAndreas: 49787909,
       coolguysocoolroblox: 165524669,
       CAMPER5155: 45422370,
       Mavnkei: 69082588,
       kaankerem123: 92305180,
       egehan432: 120777218,
       panpanaber54: 31962303,
       IXTactical_CactusXI: 17451343 } };
       
       var players  = obj.players;
       var number_values = Object.values(players);
      
       console.log(number_values );




答案 2 :(得分:0)

您可以通过执行以下操作输出密钥及其关联的数字:

 rbx.getPlayers(539310, 1).promise.then(players => {
      console.log(players)
      for (var key in players.players) { 
        console.log(key, ':', players.players[key])
      }
 })

为了演示Object.keys如何使用替代方法来访问玩家 - 这与上述方法相同。

 rbx.getPlayers(539310, 1).promise.then(players => {
      var keys = Object.keys(players.players);

      for (var i = 0; i < keys.length; i++) {
            let key  = keys[i];
            let player = players.players[key];
            console.log(key, ':', players.players[key])
        }

    });

您在尝试中犯的错误是您试图访问Object.key这是Object.keys的拼写错误,并尝试从字符串中获取键列表(作为{{{}等循环1}}将为obj中的每个键设置键,所有对象键都是字符串)。