次のコードは、Node.jsの中socket.ioサーバ用ですJavascriptを:objectに配列の値を追加する方法プロパティ
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var clients=[];
var gamename={};
io.on('connection', function(socket){
socket.on('game', function(data){
gamename[data.gamename]=data.number; //problem is here
});
});
gamename =ゲームの名前。 番号=ユーザーID。
- さらに多くのゲームがあります。
- がゲーム
あたりのユーザーより数とすることができるサーバーとの接続が確立されるたびに、私は(gamename、および番号をincludeing)いくつかのデータを使用してクライアント側のゲームイベントを放出しています。したがって、新しいクライアントがサーバーに接続するたびに、ゲームイベントがサーバーでトリガーされます。サーバー側のゲームイベントで、オブジェクトプロパティgamename(変数)に「数値」をプッシュします。
例:私は するvar gamename =「ポーカー」を実行したい34 ユーザーIDとゲームポーカー例えば接続があるたびに
var games={};
。
gamename[gamename] -> I want this automatically created as array, or anything, but I want to push user id's.
結果の反対があります。
games={'poker' : [34]};
私は1人の以上のユーザーが、ユーザーID 45とポーカーのために接続している場合は、
games={'poker' : [34, 45]};
とAAユーザーは、ユーザーをゲームクリケットのために67
games={'poker' : [34, 45],'cricket' : [67]};
最初のオブジェクトを接続している場合は
games={};
いくつかのconnectio ns(n個の接続数があります)
games={'poker' : [34, 45],'cricket' : [67]};
私の質問が明らかでない場合は、誰かが尋ねると詳細に説明します。このように、事前
おかげで、しかし、あなたは説明してください可能性が何本行いgamename [data.gamename] = gamename [data.gamename] || [];私はjavascriptを初めて使用しています – scriptkiddie
まだ初期化されていない場合は、gamename [data.gamename]を空の配列に初期化します。 –
偉大な仲間、ありがとう。 – scriptkiddie