gpt4 book ai didi

javascript - if 语句同时返回 if 和 else if?

转载 作者:行者123 更新时间:2023-11-29 10:46:29 25 4
gpt4 key购买 nike

我正在尝试编写一个代码来随机化一个数字 (1 - 100),然后打印从 40 到那个的所有奇数。如果数字小于 40,它应该打印所有数字直到随机数。

即如果数字是 45,它应该打印 41、43、45。如果它是 5,它应该打印 1、2、3、4、5。

在我添加 else if 语句之前,我的下面代码一直有效。如果数字大于 40,当我添加它时它仍然包括从 0 到 40 的所有数字?我不明白为什么我认为 if 语句应该以一种方式或另一种方式进行,而不是两者兼而有之?

关于如何解决这个问题或我做错了什么有什么想法吗?

提前致谢

function myFunc() {

var x = Math.floor(Math.random() * 100);
var counter = [];

for (var i = 0; i < x; i++) {
if (i > 40 && i % 2 == 1) {
counter.push(i);
} else if (i < 40) {
counter.push(i);
}
}

return counter + ',' + x;

}

console.log(myFunc())

最佳答案

只需添加一个新变量来检查从哪里开始。这样您也可以缩短循环中的条件。

function myFunc() {

var x = Math.floor(Math.random() * 100);
var counter = [];
var start = x >= 40 ? 40 : 0; // new variable

for (var i = start; i < x; i++) {
if (i % 2 === 1) { counter.push(i); }
}
return counter + ',' + x;
}

console.log(myFunc())

关于javascript - if 语句同时返回 if 和 else if?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18635180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com