gpt4 book ai didi

Javascript函数改变全局变量(数组)

转载 作者:行者123 更新时间:2023-11-29 21:53:38 25 4
gpt4 key购买 nike

我正在尝试制作 Yahtzee 游戏。我有一个函数来检查掷出的骰子是否是小直子。

var sortedDice = rollDice().sort(); // rollDice() generates an array with 5 random numbers

判断是否有小直线的函数:

function isSmStraight(checkSmStraight){
var smStraight = false;

var i = 1;
var j = 0;

//will remove a die if there are duplicates
while(i < checkSmStraight.length){
if (checkSmStraight[i] == checkSmStraight[j]){
i++;
} else {
j++;
checkSmStraight[j] = checkSmStraight[i];
i++;
}//end if else
}//end while loop that moves duplicates to last index of array
checkSmStraight.pop();//removes last index of array

if (isLgStraight(checkSmStraight) == true){
smStraight = true;
} else if (checkSmStraight.length == 4 && checkSmStraight[checkSmStraight.length-1] - checkSmStraight[0] == 3){
smStraight = true;
}//end if else if
return smStraight;
}//end function isSmStraight()

我已将 sortedDice 复制到另一个数组 fourDice,我可以使用它来调用 isSmStraight()。我只希望这个函数使用四索引数组,但它总是与 sortedDice 混淆,所以程序的其余部分使用四骰子数组。 (这不是整个程序,只是我认为相关的部分。另外,程序已经完成,我只是想先把评分功能弄好)。

最佳答案

默认情况下,数组在 JavaScript 中作为引用传递。所以如果你只是在做类似的事情 var fourDice = sortedDice然后编辑 fourDice,sortedDice 也会被编辑还请将代码放在问题中将 sortedDice 复制到 fourDice 的位置。

关于Javascript函数改变全局变量(数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650041/

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