如何在JavaScript中重新启动forEach()循环

时间:2020-07-25 22:32:35

标签: javascript foreach

我有以下循环遍历每个数组元素的字符,然后停止。

var container = $("#myid")
container.shuffleNames();
const names = ["", "john", "rita", "katsigaros", "jonathan", "peepee"];

names.forEach((i, t) => {
        (function(index, text) {
            setTimeout(function(){
                container.shuffleNames({
                    "text": text
                });
            }, index * 3000);
        })(t, i);
});

在循环结束时如何使它从头开始回弹并重新开始以无穷大?

1 个答案:

答案 0 :(得分:1)

您可以使用一个永久运行的间隔,每次仅访问names中的下一个元素,以递增存储当前名称索引的变量,并使用%将其重置为超过数组长度时为0:

let index = 0;
setInterval( ( ) => {
  container.shuffleNames({
    "text": names[ index = (index + 1) % names.length ]
  });
}, 3000 );