gpt4 book ai didi

javascript - 多个 if else 条件的替代方法

转载 作者:行者123 更新时间:2023-12-01 14:56:58 25 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 可以用事实和引用来回答它.


1年前关闭。







Improve this question




我有多个条件要检查和执行,如下所示。

if (date == current_date && source === "s3") {
table_name = "Table1";
} else if (date == current_date && source !== "s3") {
table_name = "Table2";
} else if (date !== current_date && source === "s3") {
table_name = "Table3";
} else if (date !== current_date && source !== "s3") {
table_name = "Table4";
}
我认为在这里使用 switch 语句没有意义,因为我们没有针对 switch 表达式评估 case 语句表达式。
那么可以使用多个 if else 语句或任何更好的替代方法吗?

最佳答案

您的代码 100% 是一个不错的选择。只是有点难以阅读。您可以将通用代码提取到变量中以使其更具可读性

var isCurrent = date == current_date;
var isS3 = source === "s3";

if (isCurrent && isS3) {
table_name = "Table1";
} else if (isCurrent && !isS3) {
table_name = "Table2";
} else if (!isCurrent && isS3) {
table_name = "Table3";
} else {
table_name = "Table4";
}
其他选择是使用三元运算符
var isCurrent = date == current_date;
var isS3 = source === "s3";

if (isCurrent) {
table_name = isS3 ? "Table1" : "Table2";
} else {
table_name = isS3 ? "Table3" : "Table4";
}
它可能是一个大的三元,但它有点不可读
var isCurrent = date == current_date;
var isS3 = source === "s3";

table_name = isCurrent ?
(isS3 ? "Table1" : "Table2") :
(isS3 ? "Table3" : "Table4");

关于javascript - 多个 if else 条件的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63709001/

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