猿问

Javascript 循环:返回 1 到 10,然后再次返回(重新启动循环)

上下文:我正在根据w3schools.com 中的教程使用 cookie 。这个想法是设置由用户输入的搜索查询给出的最多 10 个 cookie(即,只应存储最后 10 个条目)。


我有一个函数可以为 10 个 cookie(“Search_Entry”+i)中的每一个生成一个名称。一切正常,直到第 11 个条目,我希望函数再次返回第一个可能的名称,然后返回第二个,第三个等,这样已经存储在这些名称下的值将简单地替换为新的一。在某种程度上,我希望循环以某种方式重新启动,尽管这似乎不是一个简单的选择。


var g_iMaxSearchQueries = 10;

function dynamicCookieName() {

    var l_aCurrentCookie;

    for (var i = 0; i < g_iMaxSearchQueries; i++) {

        l_aCurrentCookie = getCookie("Search_Entry"+i);

        if(l_aCurrentCookie == "" && i < g_iMaxSearchQueries) {

            return "Search_Entry"+i;

        } else if (i == 9) { //this “else” needs to be an “else if” in order for the condition to work properly. Maybe is (i == 9) not the right one but the only one that worked for me from what I’ve tried.  

        //here would the loop start running again exactly like in the first part.

        }

    }

}

据我所知,我到处搜索,并尝试了几种不同的方法,还有更复杂的潜在解决方案,但基本问题仍然相同,这就是为什么我的问题和我发布的代码版本指的是我需要的核心. 也许有更多知识和经验的人可以对此有所了解。非常感谢!


幕布斯7119047
浏览 424回答 2
2回答

红糖糍粑

假设您希望循环连续执行,则i++可以将条件更改为i = (i + 1)%g_iMaxSearchQueries或者在 else if 部分,将 i 设置回 0。else if(i==9) {&nbsp; &nbsp; i = 0}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答