javascript - 每次迭代创建新数组
问题描述
我可能看错了,但我正在尝试制作一个tournament
括号创建者。您输入的名称被输入到一个名为players
我只希望括号的每一侧都有four
玩家的对象中。所以我认为最好的做法是找出sides
我在括号中会有多少人,一旦我知道了,我可以查看这些边,并且对于每个循环,我可以将球员放在那些地方,sides
但我遇到了一点的一个问题。我不知道如何动态地创建这些sides
每个通道。我删除了一些我的错误代码,所以你可以看到我的想法
const players = []
function Player(name, deck){
this.name = name
this.deck = deck
this.points = 0
this.id = players.length + 1
}
function addPlayer(){
let player = new Player (
document.getElementById('name').value,
document.getElementById('deck').value
)
//console.log(player)
document.getElementById('name').value = ''
document.getElementById('deck').value = ''
players.push(player)
logPlayers()
}
function logPlayers (){
output = ''
for (let index = 0; index < players.length; index++) {
output += (index + 1) + ') ' + players[index].name + ' | ' + players[index].deck + '<br>'
}
document.getElementById('output').innerHTML = output
}
function initGame(){
game = ''
let cube = []
const four = Math.floor(players.length/4)
//console.log(four)
const remainder = four % 1
for (let index = 0; index < four; index++) {
for (let j = 0; j < 4; j++) {
}
}
}
我的阵列cube
是我将要使用的sides
,four
也是sides
我将拥有的阵列。我将遍历它们,并且在该循环中,我将确保每个人只放 4 名球员,但是我对如何创建不同的cubes
每次传球感到困惑。
我希望我正确解释了这一点
解决方案
let cube = []
const four = Math.ceil(players.length/4)
let playerIndex = 0;
for (let index = 0; index < four; index++) {
for (let j = 0; j < 4; j++) {
if (!cube[index]) {
cube[index] = [];
}
cube[index].push(player[playerIndex])
playerIndex++
}
}
这可能是你想要的?
player[playerIndex] 将通过他们的数组索引成为单个玩家,假设 player 是一个包含玩家的数组。
推荐阅读
- flutter - 如何解决:输入'List
' 不是类型 'String' 的子类型 - php - Asterisk PAMI 如何查找相关事件
- python - 烧瓶用户表单定制
- spring-boot - Spring安全配置问题
- php - 如何提取数据库的名称并将其放在年度条形图上?
- linux - 安装 unison 时 Linux shell 脚本抛出错误
- c++ - C ++循环遍历数组以显示内容
- google-drive-api - Google Drive drive.file 范围是否允许应用下载在应用卸载/重新安装之前上传的文件?
- fo-dicom - fo-dicom C-Move Query 不调用 CStoreRequestCallback
- flutter - 如何创建在 Flutter 应用程序中运行的 websocket 服务器?