而不是循环显示一次
id1
id2
id3
循环3次才停止。我可以放什么让它只循环一次。
html:
<p id="show_me"></p>
<button onclick="ObjectArray()">click me</button>
JavaScript:
var ObjectArray = function() {
// object literal
var id1 = {
firstName: "John",
lastName: "Doe",
id: "12345"
};
// keyword new
var id2 = new Object;
id2.firstName = "Adam";
id2.lastName = "Bakely";
id2.id = "abcdef";
// object constructor
function employee(first, last, id) {
this.firstName = first;
this.lastName = last;
this.id = id;
}
var id3 = new employee("Dallas", "Star", "abc123");
//create an array
var IdArray = [id1, id2, id3];
//for loop to display results
var text="";
var i;
for (i = 0; i < IdArray.length; i++){
text += IdArray[0].firstName + " " + IdArray[0].lastName + " " + IdArray[0].id + "<br>";
text += IdArray[1].firstName + " " + IdArray[1].lastName + " " + IdArray[1].id + "<br>";
text += IdArray[2].firstName + " " + IdArray[2].lastName + " " + IdArray[2].id + "<br>";
}
document.getElementById("show_me").innerHTML = text;
}
最佳答案
它迭代 3 次,因为您循环遍历数组的长度,该数组有 3 个项目。
如果你想“迭代”一次,你可以省略 for 循环:
text += IdArray[0].firstName + " " + IdArray[0].lastName + " " + IdArray[0].id + "<br>";
text += IdArray[1].firstName + " " + IdArray[1].lastName + " " + IdArray[1].id + "<br>";
text += IdArray[2].firstName + " " + IdArray[2].lastName + " " + IdArray[2].id + "<br>";
但我认为你实际上想这样做:
for (i = 0; i < IdArray.length; i++){
text += IdArray[i].firstName + " " + IdArray[i].lastName + " " + IdArray[i].id + "<br>";
}
这样,您就可以使用循环的用途:迭代任意长度的数组,并为数组中的每个项目重复一段代码。
关于javascript - 数组for循环,javascript循环太多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543635/