Javascript 嵌套循环内的意外结果

Javascript 嵌套循环内的意外结果,javascript,arrays,loops,for-loop,nested-loops,Javascript,Arrays,Loops,For Loop,Nested Loops,let conditon=false 常量测试=[2,0,3,4,5,6,7] for(设i=0;i

let conditon=false
常量测试=[2,0,3,4,5,6,7]
for(设i=0;i<10;i++){
对于(设j=0;j}
这是一个简化版本,您可以检查它的工作原理,如果需要,还可以将其用作更复杂版本的模板

let条件;
常量nums=[2,0,3,4,5,6,7];
for(设i=0;i<2;i++){
for(让num的个数){
条件=(num!==0);
console.log(num,condition);
}
console.log(“\n--外部循环的结束--\n\n”);

}
您不断地将
条件设置为true,因为例如
0!==2
计算结果为true。除0外,每个元素都是这样<代码>0!==0
,其计算结果为false。您需要在那里放入一个else检查,并将
条件设置为false,然后中断,这样它就不会继续,并通过在下一次迭代中将
条件设置为true再次覆盖您的值

let条件=false;
常量测试=[2,0,3,4,5,6,7]
for(设i=0;i<10;i++){
对于(设j=0;j}
这里已经有了很好的答案。让我以这种方式介绍一下,作为额外的回答

const test=[2,0,3,4,5,6,7];
控制台日志(!test.includes(0));
常量test2=[2,1,3,4,5,6,7];

console.log(!test2.includes(0))您永远不会将条件设置回false,当它发现第一个非0元素条件将始终为true时,请尝试在if语句
之前将条件设置回false(让j=0;j
无效,先生,您仍然只测试最后一个元素!以前的所有内容都将被覆盖,因为您没有更改它建议的方式如果我想要结果应该怎么做我做了这个内循环,但我想要在内循环之外得到相同的结果我应该遵循什么技术因为我正在一个小项目中工作,我需要内循环的最终结果并将条件发送到外循环完成每个外循环迭代您可以在每次通过外循环后记录
条件的值(而不是记录“外循环结束”)——但请注意,此时该值将始终为
true
,因为条件会针对内循环中的每个值进行测试(包括最后一个值,
7
,它显然不等于零。)如果它在内部循环中的任何位置找到零,是否尝试将其保持在
false