猿问

在Javascript中输出一个数组

我在 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”,并在每两个值之后添加一个额外的 <br/ >。


有人可以帮我解决这个问题或指出我正确的方向吗?


浮云间
浏览 148回答 2
2回答

梵蒂冈之花

尝试这个。如果它有效,请给我投票。var f = "";&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;for (var z=0; z<matches.length; z++)&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp;code1 = matches[z].slice(0,2).join(" V ");&nbsp; &nbsp; &nbsp;code2 = matches[z].slice(2).join(" V ");&nbsp; &nbsp; &nbsp;f += "Fixture " + (z + 1 ) + "<br/>" + code1 + "<br/>" + code2 + "<br/>";&nbsp; &nbsp;}&nbsp;&nbsp;&nbsp; document.getElementById("ln").innerHTML = f;}

慕妹3242003

spycbanda 的代码不错,但只适用于四个团队。通过使用内部循环,您可以处理不定数量的团队:var f="";for(var z=0; z<matches.length; z++) {&nbsp; f += "Fixture " + (z + 1) + "<br/>";&nbsp; for(let y=0; y<matches[z].length; y+=2)&nbsp; &nbsp; f+= matches[z][y] + " V " + matches[z][y+1] + "<br/>";&nbsp; f += "<br/>";&nbsp; &nbsp;}document.getElementById("ln").innerHTML = f;
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答