节点js从数组中获取值

时间:2013-01-04 20:52:41

标签: arrays node.js

我在服务器端有这个代码发送给客户端,用户从系统断开连接:

data = [usuariosConectados,socket.nickname];
io.sockets.emit('usuarioDesconectado',data);

在客户端我有这个:

websocket.on("usuarioDesconectado",procesarUsuarios);

function procesarUsuarios (mensaje)
{
console.log(mensaje);
    $('#users').html('');
for(u=0; u<mensaje.length; u++)
{
    for(var user in mensaje[u])
    {
        $('#users').append($('<p>').text(mensaje[u][user]));
    }
}
}

console.log(mensaje)显示了这一点:

[{hola:"hola", lol:"lol"}, "Oscar"]

有了这个,我知道用户Oscar不在系统中,而hola和lol仍然在。

问题出在这一部分:

$('#users').append($('<p>').text(mensaje[u][user]));

此代码显示已连接的用户,但也显示断开连接的用户,如

O
s
c
a
r

如何将已连接的用户与已断开连接的用户分开?

1 个答案:

答案 0 :(得分:0)

我找到了我的解决方案:

$('#users').html('');
if (mensaje[1] != null)
{
$('#chatInsite').append($('<p>').html('<span>'+ '<strong>' + mensaje[1] + " desconectado</strong></span> "));   
for(i in mensaje[0])
    {
        $('#users').append($('<p>').text(mensaje[0][i]));
    }
$('#chat').animate({scrollTop: $('#chatInsite').height()},800);
}
else
{
    for(i in mensaje[0])
    {
        $('#users').append($('<p>').text(mensaje[0][i]));
    }
    console.log("Usuario Nulo");
}