在JavaScript中将数组打印到textarea

在JavaScript中将数组打印到textarea,javascript,html,Javascript,Html,我正在尝试用JavaScript将数组打印到文本区域。我当前的代码只打印第一个元素而不是全部四个元素,我不知道为什么。我也尝试过使用常规for循环,但这没有什么区别 <!DOCTYPE html> <html> <head> <script type="text/javascript"> var listArray = function() { var people =

我正在尝试用JavaScript将数组打印到文本区域。我当前的代码只打印第一个元素而不是全部四个元素,我不知道为什么。我也尝试过使用常规for循环,但这没有什么区别

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
        var listArray = function()
        {
            var people = ["Ben", "Joel", "Mary", "Tina"]; 
            var scores = [88, 98, 100, 78]; 

            for (var key in people)
            { 
                var obj = people[key]; 
                var num = scores[key];

                var string = obj + ", " + num + "\n"; 

                document.getElementById("box").innerHTML = string; 
            }
        }

        window.onload = function()
        {
            document.getElementById("show_score").onclick = showHighScore; 
            document.getElementById("list_array").onclick = listArray; 
        }
        </script>
    </head>
    <body>
        <form id="high_score" name="high_score" action="highScore.html" method="get">
            <label>Results</label>
            <br>
            <textarea cols="50" rows="4" id="box"></textarea>
            <br>
            <input type="button" value="List Array" id="list_array" onclick="listArray">
            <br>
            <input type="button" value="Show Best Score" id="show_score" onclick="showHighScore">
        </form>
    </body>
</html>

var listary=函数()
{
var people=[“本”、“乔”、“玛丽”、“蒂娜”];
var得分=[88,98,100,78];
for(var关键人物)
{ 
var obj=人[键];
var num=分数[关键点];
变量字符串=obj+“,“+num+”\n”;
document.getElementById(“box”).innerHTML=string;
}
}
window.onload=函数()
{
document.getElementById(“show_score”).onclick=showHighScore;
document.getElementById(“列表\数组”).onclick=listArray;
}
结果




这是因为这一行

document.getElementById("box").innerHTML = string;
因此,您要说的是,将
textbox
的内容替换为
string
的内容。所以最后它只有最后一个元素的值

用这个代替

document.getElementById("box").innerHTML += string; 
因此,它将在上一条记录之后追加下一条记录


还有一个问题,在第23行,没有定义showHighScore。

您只需要附加,
。innerHTML=…
将覆盖
.innerHTML+=…
附加。另请注意,
showHighScore
未定义。