我是JavaScript新手。我不知道为什么我的代码不起作用。我正在创建用于返回卡堆栈数量的函数。用户将输入卡堆叠数量。然后,将使用以下规则重新混合纸牌。但是结果没有出现。您能否帮助调试此代码。
<!DOCTYPE html>
<html>
<body>
<h1>JavaScript Functions</h1>
<p id="demo"></p>
<script>
var reposition = [];
function Reverse(userinput){
var array = new Array(userinput);
var trueform = new Array(userinput);
for(var i=0; i<userinput; i++){
array[i] = i + 1;
trueform[i] = i + 1;
}
while(! (isEqual(trueform,reposition))){
for(var ii=0; ii<userinput; ii++){
reposition[userinput-ii-1] = array[ii];
if((ii+1) != userinput){
swap((ii+1));
}
}
for(var iii=0; iii<reposition.length; iii++){
array[iii] = reposition[iii];
}
count +=1;
}
return count;
}
function swap(n){
var temp = array[n];
for(var iiii=n; iiii<array.length-1; iiii++){
array[iiii] = array[iiii+1];
}
array[array.length-1]= temp;
}
function isEqual(t, r){
for(var iiiii=0; iiiii<t.length; iiiii++){
if(t[iiiii] != r[iiiii]){
return false;
}
}
return true;
}
document.getElementById("demo").innerHTML = Reverse(4);
</script>
</body>
</html>
最佳答案
我注意到的第一件事是未定义变量数组。这是因为您试图在单独的功能中使用它。this.array instead of var array
我注意到的第二件事是,在while循环中,您正在做count + = 1,这在代码的任何地方都没有定义。
关于javascript - 卡堆栈功能不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40404219/