2015-04-06 96 views
2

我从服务器端与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给我的最后equipmentID只有[120339

+1

地方试验= []之外的for循环... – sinisake

回答

0

的console.log给我的最后equipmentID只有[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});