gpt4 book ai didi

javascript - 如何将带有嵌套 if 语句的 if-else 语句转换为一个三元语句?

转载 作者:行者123 更新时间:2023-11-28 15:15:41 25 4
gpt4 key购买 nike

这是我目前拥有的代码:

        if (isStandard(statement)) {
if (isPerfect(statement)) {
alert("This is a perfect palindrome.");
} else {
alert("This is a standard palindrome.");
}
} else {
alert("The statement is not a palindrome.");
}

我希望能够将其转换为单个三元语句,其中alert() 内的字符串将是返回的值。我知道如何对 if-elseif-else 语句执行此操作,但不知道如何对嵌套的 if 执行此操作。

最佳答案

如果你真的想要一个三元......

alert(
!isStandard(statement) ? "The statement is not a palindrome." :
isPerfect(statement) ? "This is a perfect palindrome." :
"This is a standard palindrome.");

请注意,在大多数情况下,代码的可读性应该胜过简洁性。不过,我并不反对三元,只要它们可读即可。但我个人不喜欢这个缺乏可读性。它开始进入“让我思考”类别。

注意 - @nderscore问我为什么改变条件的顺序。我这样做纯粹是为了简化表达。否则,您将开始重复调用 isStandard,或者进入这个奇怪的“树”状条件逻辑层次结构,如下所示:

alert(
isStandard(statement) ?
(isPerfect(statement) ?
"This is a perfect palindrome." :
"This is a standard palindrome.") :
"The statement is not a palindrome.");

我更喜欢前者...有些人可能更喜欢后者。

关于javascript - 如何将带有嵌套 if 语句的 if-else 语句转换为一个三元语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34074723/

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