gpt4 book ai didi

javascript - 使用 Javascript 搜索数组中的项目

转载 作者:行者123 更新时间:2023-11-28 05:13:11 26 4
gpt4 key购买 nike

我正在尝试添加一些代码,用户单击按钮,代码会生成 3 个数字(没有重复,因此 245 可以,但 122 和 121 不行)并将它们显示在屏幕上,每秒一个。为了确保不重复,我使用了一个数组:varusedNums = [];。然后,我创建数字 (digit = Math.random()) 并检查它是否已在数组中,如果不在,则添加它,如下所示:

if ($.inArray(digit, usedNums) !== -1) {
newNums();
} else {
usedNums.push(digit);
$('#memDigit').html(digit);

}

前几次,它可以工作,但是当我第 10 次单击它时,我收到了 Uncaught RangeError:超过了最大调用堆栈大小 错误。救命!

完整代码如下:

var usedNums = [];
var digit;
var amount = 3;

function newNums() {
digit = Math.floor(Math.random() * 10);
if ($.inArray(digit, usedNums) !== -1) {
newNums();
} else {
usedNums.push(digit);
$('#memDigit').html(digit);

}

}

function createNums() {
for (var i; i < amount; i++) {
setTimeout(newNums, 1000);
}
}

//$(document).ready(createNums);

最佳答案

我认为您应该在每次数字生成完成后清空/重新初始化数组usedNums。

关于javascript - 使用 Javascript 搜索数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com