同长度数组元素配对校验:每对至少一个元素≥5的问题排查
数组元素配对检查逻辑修正
问题根源
你的代码存在两个核心问题:
- 多余的内层循环:原代码用两层
for循环,把num1的每个元素和num2的所有元素逐一配对,导致输出6×2=12次结果,而需求是按顺序一一配对(即num1[i]对应num2[i]),只需要一层循环即可。 - 判断逻辑错误:原条件用了
&&(逻辑与),要求两个元素都≥5才输出true,但需求是至少一个元素≥5,应该用||(逻辑或)。
修正后的代码
const num1 = [5, 10, 0, 1000, 6, 5]; const num2 = [6, 11, 0, -1000, 4, 5]; // 仅用一层循环,按索引一一配对数组元素 for (let i = 0; i < num1.length; i++) { // 检查当前配对的两个元素是否至少有一个≥5 if (num1[i] >= 5 || num2[i] >= 5) { console.log(true); } else { console.log(false); } }
验证输出
运行修正后的代码,输出结果和预期完全一致:
true false true true false true
内容的提问来源于stack exchange,提问作者Geiby Beiby
相关产品推荐
相关产品推荐

