0

我目前有两个数组,nameArray 和 markArray,当用户输入他们的名字和标记时,它们被添加到其中。我想通过单击一个按钮来显示所有名称和标记,但哪些标记属于谁显而易见。我的尝试低于创建 displayInfo 但每当我尝试将其输出到 HTML 时,它只显示每个数组中的最后一个。


    if (Array.isArray(nameArray) && nameArray.length) {

        console.log("display all working");
       // var displayName = nameArray.toString();
        // var displayMark = markArray.toString();

        for(let i=0; i < nameArray.length; i++){

            var displayInfo = "";

            //var displayInfo = nameArray[i] + "<br/>" + markArray[i];
            //console.log(displayInfo)
            //document.getElementById("result").innerHTML = displayInfo;

            displayInfo += nameArray[i] + "<br/>" + markArray[i] + "";

        }

            document.getElementById("result").innerHTML = displayInfo

    }else{

        document.getElementById("result").innerHTML = "No result's have been entered! Please enter results before display them!"
    }


} ```

var name = document.getElementById("name").value;
var mark = document.getElementById("mark").value;

if(name == "" || mark == ""){

    document.getElementById("result").innerHTML = "An input field is empty please try again."

}else{

nameArray.push(name);
markArray.push(mark);

console.log(nameArray);

document.getElementById("result").innerHTML = name + "'s " + "results have been added to the system!"

}

}```

输出应该看起来像 John-4 Jack-6,只要可以清楚地知道它是谁的结果。

4

1 回答 1

0
if (Array.isArray(nameArray) && nameArray.length) {

    console.log("display all working");
    var displayInfo = [];
   // var displayName = nameArray.toString();
    // var displayMark = markArray.toString();

    for(let i=0; i < nameArray.length; i++){


        //var displayInfo = nameArray[i] + "<br/>" + markArray[i];
        //console.log(displayInfo)
        //document.getElementById("result").innerHTML = displayInfo;

        displayInfo.push(nameArray[i] + "<br/>" + markArray[i] + "");

    }
       displayInfo.forEach(single => {
            document.getElementById("result").innerHTML = single; 
       })



}else{

    document.getElementById("result").innerHTML = "No result's have been entered! Please enter results before display them!"
}

您正在覆盖循环内的变量,直到循环结束,这就是您获得数组最后一个元素的原因。试试我的代码。

于 2020-05-08T15:20:08.243 回答