在 Javascript 中输出数组
2020-06-28
67
我在 JavaScript 中拥有以下数组,用于创建各队相互比赛的赛程列表。
[["a", "b", "c", "d"], ["a", "c", "b", "d"], ["a", "d", "b", "c"]]
我当前的代码:
var f = "";
for (var z=0; z<matches.length; z++)
{
f += "Fixture " + (z + 1 ) + " " + matches[z] + "<br/>";
}
document.getElementById("ln").innerHTML = f;
}
这将输出数组为:
Fixture 1 a,b,c,d
Fixture 2 a,c,b,d
Fixture 3 a,d,b,c
但是我希望它看起来像:
Fixture 1
a V b
c V d
Fixture 2
a V c
b V d
基本上,我需要在第一个值之后的每个第二个值添加一个“V”,并在每 2 个值之后添加一个额外的 < br/ >。
有人可以帮我解决这个问题或者给我指出正确的方向吗?
2个回答
试试这个。如果有效就给我点赞。
var f = "";
for (var z=0; z<matches.length; z++)
{
code1 = matches[z].slice(0,2).join(" V ");
code2 = matches[z].slice(2).join(" V ");
f += "Fixture " + (z + 1 ) + "<br/>" + code1 + "<br/>" + code2 + "<br/>";
}
document.getElementById("ln").innerHTML = f;
}
Ravi Garg
2020-06-28
spycbanda 的代码很好,但只适用于 4 支球队。通过使用内部循环,您可以处理无限数量的球队:
var f="";
for(var z=0; z<matches.length; z++) {
f += "Fixture " + (z + 1) + "<br/>";
for(let y=0; y<matches[z].length; y+=2)
f+= matches[z][y] + " V " + matches[z][y+1] + "<br/>";
f += "<br/>";
}
document.getElementById("ln").innerHTML = f;
drnugent
2020-06-28