javascript - 如何创建一个在到达终点时反转的暂停的循环 react-redux
问题描述
我目前正在尝试为幻想体育创建一个模拟草稿应用程序。一直试图弄清楚如何遍历所有团队,同时将一个对象推入每个团队数组,然后在轮到用户时暂停。在用户选择他的玩家(对象)后,循环继续直到它到达回合结束(teams.length),此时它应该反转并按降序继续,直到它再次到达用户,然后返回直到 index = 0。然后重复几次。
到目前为止我有什么:
//draftAction.js
export const addPlayerToTeam = (j) => (dispatch, getState) => {
let myTeam = getState().draftPreferencesReducer.draftPos
let player = getState().playersReducer.players
let allTeams = getState().draftPreferencesReducer.teams
if (j){ j = myTeam }
else {j = 0}
for (let i = j, di=1; i < allTeams.length; i+= di) {
if (i !== myTeam-1){
setTimeout(function(x) { return function() {
return dispatch ({
type: ADD_TO_TEAM,
player: player[x],
team: x,
})
}; }(i), 1000*i);
}
else { return }
}
}
export const addPlayerToMyTeam = (player, team) => (dispatch, getState) => {
let myTeam = getState().draftPreferencesReducer.draftPos
let allTeams = getState().draftPreferencesReducer.teams
allTeams[myTeam-1].push(player)
return dispatch ({
type: ADD_TO_MY_TEAM,
player,
playersUsed: playersDrafted
})
}
主要功能是 addPlayerToTeam。团队是一个多维数组,里面有几个空数组(用户输入他希望有多少个团队)。我们用户的团队被拼接并扔到了teams数组中。DraftPos(此处用作 myTeam)是放置用户团队的索引。本质上,我试图遍历 myTeams,然后在 index == draftPos 时暂停,然后继续直到我们到达 myTeams.length,然后返回到 draftPos,再次暂停,然后继续直到 index = 0。非常感谢任何帮助。
解决方案
推荐阅读
- pybind11 - 使用 pybind11 绑定数组
- javascript - 检查用户是否在 Firestore 云功能中是匿名的
- javascript - 收到以下错误:compare.js:1 未捕获的错误:找不到模块“ember”
- r - 识别被矩阵中的一包围的零区域
- android - 突出显示recycleView列表中的查询文本忽略空间
- javascript - 如何同时从两个输入更新 2 个变量?
- recursion - 如何递归地从 2 个列表中获取标量值?
- javascript - 在所有页面上传播暗模式更改
- python-3.x - 如何在 XML 标签中提取值-python 3
- c# - 使用 C# ADO.NET 将多行字符串写入 SQL Server?