如何重复循环浏览 JavaScript 对象

How to repetitively cycle through a javascript object?

本文关键字:JavaScript 对象 浏览 循环 何重复      更新时间:2023-09-26

我有一个像这样的javascript对象:

var object = [{ id: 1, title:"xyz" }, {id: 2, title: "abc"}, {id: 3, title: "sdfs"}];
现在我想做的是遍历对象,使其读取第一个 id 并输出"xyz",然后暂停 5 秒,然后遍历第二个 id 并输出"abc",再次暂停 5 秒,然后

通过第三个条目输出"sdfs",再次暂停 5 秒,然后从条目 1 重新开始。我希望这种情况无限期地持续下去。任何帮助将不胜感激。

您的基本递归函数:

function recursive(obj,idx) {
    if (obj[idx]) {
        alert(obj[idx].title);
       setTimeout(function(){recursive(obj,idx+1);}, 5000); // milliseconds
    };
};
recursive(myObject,0);

或者,无限循环:

function recursive(obj,idx) {
    if (obj[idx]) {
        alert(obj[idx].title);
        setTimeout(function(){recursive(obj,idx+1);}, 5000); // milliseconds
    } else {
        recursive(obj,0);
    };
};
recursive(myObject,0);

http://jsfiddle.net/Mezxw/

var object = [{ id: 1, title:"xyz" }, {id: 2, title: "abc"}, {id: 3, title: "sdfs"}];
setTimeout(doNextObject, 5000);
var index = 0;
var length = object.length;
function doNextObject() {
    alert(object[index].title);
    index = ++index % length;
    setTimeout(doNextObject, 5000);
}