javascript - 数组for循环,javascript循环太多次

标签 javascript

而不是循环显示一次

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/

相关文章:

javascript - 异步函数抛出错误,但我看不到它们

Javascript - 在构造函数或构造函数的原型(prototype)属性中设置属性?

javascript - 如何在JS函数中使用$(this)然后找到attr?

javascript - Riot JS 文本搜索错误

javascript - 为什么 window.btoa 不能处理 Javascript 中的字符?

javascript - 使用 onClick 禁用文本字段时更改文本颜色?

javascript - 调整大小时 jQuery 的小错误?

php - 在单个警报中显示多个文件输入的所有文件名

javascript - 如何使用 JavaScript 提交表单后启用按钮

javascript - 动态元素上的 jQuery 事件不起作用