4
下面的代碼是在node.js中socket.io服務器的Javascript:如何增加數組值對象屬性
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 =遊戲名稱; number = user id;
- 可以有更多的遊戲數量;
- 可以有更多的用戶的數目每場
,我在客戶端與一些數據發射的遊戲事件(includeing gamename,和數目),只要建立了與服務器的連接。所以每當新的客戶端連接到服務器時,遊戲事件就會在服務器中被觸發。在服務器端的遊戲事件中,我想將「number」推送到對象屬性gamename(變量)。
例如:
var games={};
每當有例如用於遊戲撲克與用戶ID 34 我想要做 VAR gamename = '撲克' 的連接;
gamename[gamename] -> I want this automatically created as array, or anything, but I want to push user id's.
由此產生的反對應該是。
games={'poker' : [34]};
如果我多了一個用戶連接與用戶ID 45撲克,
games={'poker' : [34, 45]};
。如果AA用戶對於遊戲板球與用戶連接67
games={'poker' : [34, 45],'cricket' : [67]};
初始對象
games={};
經過一定的連接ns(可以有n個連接)
games={'poker' : [34, 45],'cricket' : [67]};
如果我的問題不清楚,我會詳細解釋一下,如果有人問。 在此先感謝
謝謝,但你能解釋一下這行做gamename [data.gamename] = gamename [data.gamename] || [];我是javascript – scriptkiddie
的新手,它初始化gamename [data.gamename]爲空數組,如果它尚未初始化。 –
偉大的兄弟,謝謝。 – scriptkiddie