我正在尝试循环遍历 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/