javascript - 我可以分配一个变量来检查循环内的多个数组吗?
问题描述
我正在尝试检查循环内的多个数组,所有数组都具有相同的索引。我不想对每个列表进行手动编码,而是对其进行软编码,这样每次函数循环时它都可以检查我的所有数组。我所有的数组都被命名为:score1-score8,但是每当这段代码运行时,它实际上并没有检查任何列表。
function checkHorizontal()
{
var rowcount=0;
var checkLists;
var player1=0;
var player2=0;
checkLists="score"+rowcount;
for (var i = 0; rowcount <= 8; i++)
{
rowcount+=1;
if(checkLists[rowcount]==1)
{
player1+=1;
player2=0;
}
else if (checkLists[rowcount]==2)
{
player2+=1;
player1=0;
}
}
}
解决方案
您可以将分数保存在数组中并使用另一个for
循环,而不是给每个分数一个具有索引的变量名称。
这是一个示例,假设:
- 我们有两名球员
- 游戏由未知数量的集合组成
- 一组由未知数量的腿组成
const player1 = 1;
const player2 = 2;
const set1 = [ 1, 2, 1 ];
const set2 = [ 1, 2, 2 ];
const set3 = [ 2, 2, 1 ];
let player1Score = 0;
let player2Score = 1;
// Create a new array containing all sets:
const game = [ set1, set2, set3 ];
// Loop over every set in the game
for (let s = 0; s < game.length; s += 1) {
const set = game[s];
// Loop over the legs in every set
for (let g = 0; g < set.length; g += 1) {
const winner = set[g];
if (winner === player1) player1Score += 1;
if (winner === player2) player2Score += 1;
}
}
console.log(`The final match score is player1 ${player1Score} vs player2 ${player2Score}`);
对于您的具体情况,您可以定义game
为[ score1, score2, score3, score4, score5, score6, score7, score8 ]
如果玩家的数量也可以不同,您也可以将它们添加到数组中!你会得到第三个循环,检查你需要为你处理的每条腿分配一个点的球员。
推荐阅读
- c# - 为什么是 IOptionsMonitor
.OnChange 没有被调用? - bash - POSIX sh:复合命令如何与管道一起使用?
- devops - 使用 VStest 并行运行测试不起作用
- php - PHP - 将变量的内容替换为名称
- mqtt - Thingsboard 断开 MQTT 客户端
- perl - 格式化哈希内容以生成报告
- angular - undefined[] 缺少类型中的以下属性
- python - 在 Pandas df 上运行 lower_case.translate 和 string.punctuation 的 AttributeError
- google-cloud-platform - 如何解决 terraform 中的“错误 409:这些数据存储实体的争用过多”?
- javascript - 如何在循环中使用 React setState?