【问题标题】:create an array from different objects从不同的对象创建一个数组
【发布时间】:2015-04-06 21:11:30
【问题描述】:

我已经使用 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

【问题讨论】:

  • 将 test=[] 放在 for 循环之外...

标签: javascript arrays socket.io


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2020-12-21
    相关资源
    最近更新 更多