2016-12-13 5 views
0

人が私にメッセージを送るタイミングをチェックするボットがあります。私はそれが人々が私を送るとき、それを望んでいます: "!アカウント"は、私のjsonファイルを通して、メッセージのIDを送信する人がJsonファイル内のsomeones IDと一致するかどうかを調べます。もしそうであれば、私はそれが彼に彼の「クレジット」を送信したいとこれまでのところ、私はそれが一種の作業持っている「steamid」:ループが終了してから0に戻すまでループを維持する方法

ok = 1; 
if(ok == 1) { 
    console.log("[SERVER] "+steamID.getSteamID64()+" is asking for his account information."); 
    for(r=0;r<config.tradesettings.amountofaccounts+1;r+=1) { 
     if(config.accounts[r].steamID == steamID.getSteamID64()) { 
      ok = 0; 
      console.log("[SERVER] "+ steamID.getSteamID64() +" is asking for his account info, respondig with it.\n") 
      client.chatMessage(steamID.getSteamID64(), "\nDisplaying your account on this bot\nBotID: "+config.accounts[r].botID+"\nSteamID: "+config.accounts[r].steamID+"\nBalance: "+config.accounts[r].balance); 

      console.log(r); 
      return; 
     } else { 
      //do nothing 
     } 
    } 
} 

は、今ではそれがすべてJSONを通じてチェックしていないことを除いて、取り組んでいますファイル。 forループのみが一度有効になるので、最初のjsonまたは2番目のjsonをチェックします。 forループを検索が終了してからr = 0に設定するまでどのようにしたらいいですか?

ここではjsonファイルはconfig.jsonと呼ばれ、ここにあります。

"accounts":[ 
    { 
    "botID":"0", 
    "steamID":"2919", 
    "balance": 54 
    }, 
    { 
    "botID":"1", 
    "steamID":"", 
    "balance": 0 
    }, 
    { 
    "botID":"2", 
    "steamID":"", 
    "balance": 0 
    }, 
    { 
    "botID":"3", 
    "steamID":"76561198026027024", 
    "balance": 0 
    } 
] 
+1

関数内でループ内のすべての要素を処理したい場合は、 'return'を実行しないでください - 関数を終了します(これは表示されていません)。 –

+0

forループ内に" continue "ループを止めるためにループを維持するか「中断する」。そこに戻ってきて、物事を撫でている。 – yBrodsky

+0

ありがとうございます!ありがとう! –

答えて

0

ループはJSON配列内のすべての項目を通る、あなたのforループは、アレイconfig.accountsの長さrの値を比較し、またはその値を確保すべきであることを保証するためにconfig.tradesettings.amountofaccountsは配列の長さに設定されます。

forループを置き換える次のコードは、すべての配列項目を繰り返し処理する必要があります。

for(r = 0; r < config.accounts.length - 1; r++) { 
     if(config.accounts[r].steamID == steamID.getSteamID64()) { 
      ok = 0; 
      console.log("[SERVER] "+ steamID.getSteamID64() +" is asking for his account info, respondig with it.\n") 
      client.chatMessage(steamID.getSteamID64(), "\nDisplaying your account on this bot\nBotID: "+config.accounts[r].botID+"\nSteamID: "+config.accounts[r].steamID+"\nBalance: "+config.accounts[r].balance); 

      console.log(r); 
      break; 
     } 
    } 

    return; 

これは、json配列内のすべての項目を反復処理する必要があります。

関連する問題