用socket.io命名数组

所以我正在创build一个多人游戏,我使用io.emit命令定期向客户端发送数据数组的更新。

setInterval(function(){ io.emit("sendBlocks", blocksClient); io.emit("sendMoreBlocks",test); }, 100); 

blocksClient是一个正常的数组。 而testing是一个命名的数组。

 blocksClient = [{ posX: 0, posY: 0, solid: false }, { posX: 1, posY: 0, solid: false }, { posX: 2, posY: 0, solid: false },] test = [ block1: { posX: 1, posY: 5 }, block2: { posX: 35, posY: 42 } ] 

到达客户端时,blocksClientvariables将完全正常工作。 而testingvariables在到达时将是完全空的。

有人知道为什么和可以做什么? 谢谢您的帮助 :)

那是因为在javascript中没有“命名数组”,它们实际上是具有属性的对象,应该如下所示:

 { block1: { posX: 1, posY: 5 }, block2: { posX: 35, posY: 42 } }