![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
js中为什么我的for循环只循环一次呢? 5
functionfinderror(){varw={1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:...
function finderror() {
var w = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0,
14: 0, 15: 0, 16: 0, 17: 0, 18: 0, 19: 0, 20: 0, 21: 0, 22: 0, 23: 0, 24: 0, 25: 0,
26: 0, 27: 0, 28: 0, 29: 0, 30: 0, 31: 0, 32: 0};
var keys1 = getnumber(32);
var keys2 = getnumber(32);
var w1 = randomnumber(keys1, 11);
console.log(w1);
var isright = true;
var times = 0;
for(let k = 0; k < 9000; k++) {
var w2 = randomnumber(keys2, 17);
times++;
for (let m = 0; m < 17; m++) {
for (let n = 0; n < 11; n++) {
if (w1[n] == w2[m] ) {
w[w2[m]] += 1;
isright = false;
}
}
}
if (isright) {
break;
}
return isright;
}
return times,w;
} 展开
var w = {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0,
14: 0, 15: 0, 16: 0, 17: 0, 18: 0, 19: 0, 20: 0, 21: 0, 22: 0, 23: 0, 24: 0, 25: 0,
26: 0, 27: 0, 28: 0, 29: 0, 30: 0, 31: 0, 32: 0};
var keys1 = getnumber(32);
var keys2 = getnumber(32);
var w1 = randomnumber(keys1, 11);
console.log(w1);
var isright = true;
var times = 0;
for(let k = 0; k < 9000; k++) {
var w2 = randomnumber(keys2, 17);
times++;
for (let m = 0; m < 17; m++) {
for (let n = 0; n < 11; n++) {
if (w1[n] == w2[m] ) {
w[w2[m]] += 1;
isright = false;
}
}
}
if (isright) {
break;
}
return isright;
}
return times,w;
} 展开
展开全部
感觉语法没有问题,可能出现在那个等号的地方,正好第一次循环,w1[n]==w2[m]了,导致isright为true,所以break出循环了,你可以持续console.logw1和w2的值,或者设置断点,跟踪一下循环。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询