簡體   English   中英

Javascript:如何將數組值添加到對象屬性

[英]Javascript: How to add array values to object property

以下代碼適用於node.js中的socket.io服務器

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 =用戶ID;

  1. 可以有更多的游戲;
  2. 每場比賽可以有更多的用戶

每當與服務器建立連接時,我在客戶端發出一些數據(包括游戲名稱和號碼)的游戲事件。 因此,每當新客戶端連接到服務器時,在服務器中觸發游戲事件。 在服務器端的游戲事件中,我想將“數字”推送到對象屬性gamename(變量)。

例:

var games={};

每當有用戶ID為34的游戲撲克連接時,我想做var gamename ='poker';

 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]};

如果用戶用戶67連接游戲板球

games={'poker' : [34, 45],'cricket' : [67]};

初始對象

games={};

一些連接后(可以有n個連接)

games={'poker' : [34, 45],'cricket' : [67]};

如果我的問題不清楚,我會詳細解釋,如果有人問。 提前致謝

像這樣:

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] = gamename[data.gamename] || [];
    gamename[data.gamename].push( data.number ); //no more problem 
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM