2016-01-16 2 views
1


Я хочу петлю на объекте, чтобы найти то, что имя объекта, который имеет сокет идентификатор, а затем, когда он нашел console.log это
Код:петля Javascript на объекте

getUsernameBySocketID: function(socketid) { 
    for(var User in Users.Obj) { 
     var u = Users.Obj[User]; 
     if(u.socketID == socketid) { 
      return u.username; 
     } 
    } 
}, 

EDIT:

User.Obj:
добавить е lements к user.obj с функцией для создания нового пользователя:

Users.Obj[id] = new Users.User({username: username, socketID: socketID}); 

и Users.User содержит:

User: function(data) { 
    this.username = data.username; 
    this.socketID = data.socketID; 
}, 


но когда я вызываю функцию и console.log его, он ничего не возвращает.
Как я могу это решить? Благодаря

+0

Посмотрите [Object.keys] (https://developer.mozilla.org/en-US/docs/ Web/JavaScript/Reference/Global_Objects/Object/keys) –

+0

Недостаточно информации для ответа на ваш вопрос. Как выглядит ваш 'Users.Obj'? –

+0

Object.keys преобразует объекты propreties в массив, я не хочу этого, я хочу зациклиться на всех объектных проприетях, проверить, вызван ли сокетID == socketid в функции, а затем вернуть его – Rendoge

ответ

0

Наконец я нашел мою проблему с помощью @ помощи Watte в Users.Obj были просто пустые

Смежные вопросы