从不同的对象创建一个数组

时间:2015-04-06 21:11:30

标签: javascript arrays socket.io

我已经从socket.io发送了数据:

for (i = 0; i<rows.length; i++) {
socket.emit('Switch', {eqid:rows[i].EquipmentID,eqroom:rows[i].Name}); 
}

并在客户端:

socket.on('Switch', function (data) {
console.log(data.eqid);
 }

我得到的是:console log当我console.log(data.eqid[0]时,我得到了未定义的

所以我想得到一个数组[120336,120337..]

我还尝试过从服务器端开始发送数组:

for (i = 0; i<rows.length; i++) {
var test=[];
test.push(rows[i].EquipmentID);     
}
console.log(test);

console.log只给我最后一个设备ID [120339

1 个答案:

答案 0 :(得分:0)

  

console.log只给我最后一个设备ID [120339

因为您在每次迭代中重新定义rows数组。

试试这个:

var ids = [];
var names = [];

for (var i = 0; i < rows.length; i++) {
    ids.push(rows[i].EquipmentID);   
    names.push(rows[i].Name);  
}

socket.emit('Switch', {eqid: ids, eqroom: names});