使列表项目脱离对象

我正在使用Socket.io制作一个项目Node.JS项目。 我正在尝试从一个对象制作HTML列表项目。 我正在尝试将播放列表预渲染到这个将要呈现的帕格文件中。 虽然,我可以得到玩家列表,并显示在HTML中,但所有的用户名集合在一起作为一个列表项目。

我试过的东西

app.js

var players = {} socket.on('connection', function(socket) { players[socket.id] = {} var playerList = '' for (var i in players) { playerList += i + "<br>" } var roomData = pug.renderFile('./views/room.pug', { playerList: playerList }) }) 

players[socket.id] = {}是一个对象而不是数组的原因是因为还有其他的东西去对象,它不包括在这里。

room.pug

 .row .col.s12 #test ul li |#{playerList} 

如前所述,上述方法将所有玩家放在单个HTML列表项中。 我怎样才能把每个玩家分成自己的列表项? 谢谢。

我会build议:

 socket.on('connection', function(socket) { players[socket.id] = {} var roomData = pug.renderFile('./views/room.pug', { playerList: Object.keys(players) }) // etc ... }) 

在帕格:

 .row .col.s12 #test ul each playerName in playerList li= playerName 

您可以将这个对象的所有字段添加到新的列表中,如下所示:

  var list; for (var key in object) { list.push(objet[key]); }