javascript - javascript中递归循环返回未定义的数字

标签 javascript jquery recursion

我正在尝试循环遍历 15 个字符串列表,并希望将随机值绑定(bind)到另一个列表。

我还使用另一个列表来检查随机数中使用的数字。 我在这个递归循环和随机数中面临问题。为什么它有时会创造未定义的值(value)?

请帮助我,是的,我检查了前一天的所有其他选项,这不是重复或重复的问题。因此,请在否决此问题之前检查以下代码。

codepen在这里 http://codepen.io/anon/pen/CaAfi

最佳答案

我认为问题出在这个分支上:

if (randnum == -1 || randnum == undefined) {
    randnum = CheckRandomNum(iconListLength, usedNumLst);
} else {
    usedIconList.push(iconList[randnum]);
    usedNumLst.push(randnum);
}

如果 randnum未定义,则调用 CheckRandomNum,但继续循环(因此 usedIconList 中不是 15 个项目,你有 n-less 项。如果你更新逻辑来解决迭代问题,代码将不再产生未定义的项。

这是更新的代码笔:http://codepen.io/anon/pen/qymsK

我唯一改变的是添加 --j 来再次执行循环:

if (randnum == -1 || randnum == undefined) {
    --j;
    randnum = CheckRandomNum(iconListLength, usedNumLst);
} else {
    usedIconList.push(iconList[randnum]);
    usedNumLst.push(randnum);
}

关于javascript - javascript中递归循环返回未定义的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24094507/

相关文章:

javascript - Node : Do I need to end HTTP requests to save memory/CPU?

javascript - 切换 Div 对单选按钮选择问题的可见性

javascript - 查询 |为作为输入属性的名称添加值

recursion - 为什么在 F# 中使用递归函数而不是 `while true do`?

c - 如何找到递归函数调用自身的次数?

c - 需要递归函数的优化

javascript - 非敏感链接的简单密码保护

javascript - 删除 Javascript 中的空格

c# - ASP .Net jQuery AJAX 登录安全吗?

jquery - 如何在 Listview 输入标签中创建一个按钮