while循环中的条件表达式不能按预期工作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了while循环中的条件表达式不能按预期工作相关的知识,希望对你有一定的参考价值。
我给我的while循环提供了条件测试,但它似乎没有用。我认为这是因为增量算子。但我找不到原因
const nums = [3, 5, 15, 7, 5];
let n, i = 0;
while ((n = nums[i]) < 10, i++ < nums.length) {
console.log(`Number less than 10: ${n}.`);
};
预计[3,5,7,5] 实际结果[3,5,15,7,5] 我不知道为什么15出来了。
我想知道为什么while循环像这样工作。
更新:
这个问题来自“学习javascript 3rd”这本书,,
逗号运算符不像我想的那样工作。
答案
当你到达15时,如果你更正了,那么就是快捷方式
逗号运算符返回i++ < nums.length
的结果
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
你真的想看看ES5 / ES6和过滤器
let smallNums = [3, 5, 15, 7, 5].filter((n) => n<10)
console.log(smallNums)
另一答案
这里。你应该在while循环中创建一个条件,因为如果条件为false,那么整个循环将被终止。
const nums = [3, 5, 15, 7, 5];
let n, i = 0;
while (i < nums.length) {
if ((n = nums[i++]) < 10) {
console.log(`Number less than 10: ${n}.`);
}
};
以上是关于while循环中的条件表达式不能按预期工作的主要内容,如果未能解决你的问题,请参考以下文章