gpt4 book ai didi

javascript - 使用条件语句在 Javascript 中的不同 for 循环之间进行选择

转载 作者:行者123 更新时间:2023-11-30 08:21:35 25 4
gpt4 key购买 nike

根据特定条件,我希望执行两个不同的 for 循环之一。所以在下面的示例中,我希望 console.log 在 a > b 时返回降序数字,在 b > a 时返回升序数字。我对这不起作用一点也不感到惊讶,但它让你知道我在追求什么。

for (if (a > b) {(i = 2; i > 0; i--)} else {(i = 0; i < 2; i++)} {
console.log(i);
};

显然,我可以通过让 if-else 在两个完整且独立的循环之间进行选择来解决这个问题,每个循环都有自己的 console.log(i) 代码块,但在我处理的情况下,这将涉及复制一个巨大的代码量。

最佳答案

 for(let i = a > b ? 2 : 0 ; a > b ? i > 0 : i < 2; a > b ? i-- : i++)
console.log(i);

您必须将条件移动到每个表达式中。或者在它自己的函数中移动 body:

 function body(i) {
console.log(i);
}

if (a > b) {
for(i = 2; i > 0; i--) body(i);
} else {
for(i = 0; i < 2; i++) body(i);
}

或者功能方式:

 const maybe = (condition, op) => arg => condition ? op(arg) : arg;
const range = (start, end) => Array.from({ length: end - start }, (_, i) => start + i);

maybe(a > b, it => it.reverse())(range(0, 2)).forEach(console.log);

关于javascript - 使用条件语句在 Javascript 中的不同 for 循环之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52706308/

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