[英]How to separate key and value of each object inside array of objects - Javascript
[英]Printing each value of an array on a separate line Javascript
我有一個涉及Javascript的程序,可以與網頁進行交互。 這是一個棒球網站,所以我在做的是提示用戶輸入一個月。 用戶可以輸入數字,例如6月的6,或月份本身的名稱,程序將顯示該月他們正在玩的所有游戲。
我這樣做的方法是創建一個數組並將其與游戲信息一起存儲。 因此,7月看起來像這樣:
if(month == 7) // July
{
var gamesPlayed = ["7/1/16: Team1 @ Team2", "7/3/16: Team2 @ Team 4",
"7/4/16: Team3 @ Team2" , ... ,etc, ...];
}
在我的主要功能(按下“提交”按鈕時執行的功能)中,我想打印數組。
var schedule = getSchedule(July);
for(var i = 0; i < schedule.length; i++)
{
document.getElementById("result").innerHTML = schedule[i] + "<br />";
}
由於某些原因,這不起作用。 它所做的所有事情都會在數組中打印最后一個值,而不是整個內容。 為什么不打印整個陣列? 我試圖做document.write(schedule[i] + "<br />");
那並沒有滿足我的要求。 它打印了它,但是它自己將它打印在頁面上,直到我無法在新的月時間或回到主頁等位置。是否有辦法使它打印所有元素,而不僅僅是最后一個一?
您可以使用.join()
將數組合並為一個字符串,並用<br>
分隔每個條目:
document.getElementById("result").innerHTML =
schedule.join("<br>");
<br>
不需要自動關閉/
。 更重要的是,不需要for
循環。 上面的代碼將完成全部操作。
如果要在最后一個條目之后輸入<br>
,只需添加它:
document.getElementById("result").innerHTML =
schedule.join("<br>") + "<br>";
雖然Pointy的答案是正確的,但並未說明您的代碼為何無法正常工作。 我將嘗試解釋:
錯誤在於此for
循環以及您如何使用innerHTML
。
for(var i = 0; i < schedule.length; i++)
{
document.getElementById("result").innerHTML = schedule[i] + "<br />";
}
基本上,在循環的每次迭代中,您都將重置result
元素的HTML而不是附加到它。 下面的小改動是您所需要的。
for(var i = 0; i < schedule.length; i++)
{
document.getElementById("result").innerHTML += schedule[i] + "<br />";
}
但是,毫無疑問,Pointy的答案更為有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.