Javascript我在while循环中有一个嵌套的for循环,它';It’没有按预期工作
我不明白为什么我的代码会无限运行Javascript我在while循环中有一个嵌套的for循环,它';It’没有按预期工作,javascript,Javascript,我不明白为什么我的代码会无限运行 var stateArray = ["CO", "AK", "CA", "KY", "NM"]; var selectedStates = []; var important = 6 while (important < 9) { let j = Math.floor(Math.random() * 4); for (let i = 0; i < selectedStates.length;
var stateArray = ["CO", "AK", "CA", "KY", "NM"];
var selectedStates = [];
var important = 6
while (important < 9) {
let j = Math.floor(Math.random() * 4);
for (let i = 0; i < selectedStates.length;i++){
if (stateArray[j] == selectedStates[i]){
break;
} else {
selectedStates.push(stateArray[j]);
console.log(selectedStates);
important++
}
}
}
var stateArray=[“CO”、“AK”、“CA”、“KY”、“NM”];
var-selectedStates=[];
重要变量=6
while(重要<9){
设j=Math.floor(Math.random()*4);
for(设i=0;i
如果你能帮助我,那将是令人惊奇的。如果你想选择3个随机状态,这就是你想要的
var stateArray=[“CO”、“AK”、“CA”、“KY”、“NM”];
var-selectedStates=[];
重要变量=6
while(重要<9){
设j=Math.floor(Math.random()*4);
selectedStates.push(stateArray[j]);
++重要的;
}
console.log(selectedStates)
看起来是什么:
你在while循环中
您还没有在selectedStates
数组中推送任何内容,因此当i
已分配0
且selectedStates
的长度也为0
时,for循环语句如何为真
而这个while循环语句
important<9
总是正确的,因为它不会从代码selectedStates中的6
增加。长度始终为零。从技术上讲,不会更改重要的值,因为它从未为循环的块运行,这就是为什么它是一个无限循环。是的selectedStates。长度始终为零,由于嵌套在for循环中,因此您的else
从未运行。您希望得到什么结果?我希望selectedStates数组选择3种不同的状态。