gpt4 book ai didi

javascript - 是什么导致此脚本失败或陷入无限循环?

转载 作者:行者123 更新时间:2023-11-30 10:51:16 26 4
gpt4 key购买 nike

为什么调用 dealHands() 函数时我的页面似乎进入了无限循环?应该发生的是,它应该调用 fetchCard() 函数。该函数应创建一个介于 0-51 之间的随机数,然后搜索 discardPile 数组以确保该随机数不存在于 discardPile 数组中。如果不是,则 fetchCard() 函数应将随机数返回给 dealHands() 函数,以便可以将其分配/添加到 allHands 数组。

    //Variables
var discardPile = new Array();
var allHands = new Array();

//Prototypes
Array.prototype.exists = function(search) {
for(i=0;i<this.length;i++)
if (this[i] == search) return true;
return false;
}

//Functions (Only the ones the that are needed for this question)
function dealHands() {
var cardsOfHand = new Array()
for (x=0;x<=1;i++) {
for (y=0;y<=1;y++) {
cardsOfHand[y] = fetchCard();
discardCard(cardsOfHand[y]);
}
allHands[x] = cardsOfHand
}
}

function discardCard(card) {
var totalCards = discardPile.length;
if (totalCard != 0) { totalCards++ }
discardPile[totalCards] = card;
}

function fetchCard() {
var usedCard = true;
while(usedCard == true) {
var randomCard = Math.floor(Math.random()*51);
usedCard = discardPile.exists(randomCard);
}
return randomCard;
}

最佳答案

你的循环中有 i++,而不是 x++

       for (x=0;x<=1;i++) {

关于javascript - 是什么导致此脚本失败或陷入无限循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5160467/

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