gpt4 book ai didi

javascript - 更有效的方式来写这个 if/else

转载 作者:行者123 更新时间:2023-11-30 06:56:57 25 4
gpt4 key购买 nike

我为计算长度的输入字段写了一个小检查,并确保它是正确的长度。它变得复杂,因为它需要允许 9 位数字或 1 个字母和 5 位数字。我现在的工作方式是这样的,但是代码伤了我的脑袋,我想看看对此有什么更优雅的解决方案,也许使用三元和/或开关?

所以我现在有一小部分不太漂亮:

if (len !== 9) {
if (len == 1) {
y.hide();
n.show();
valInput.text("You need 8 more numbers");
} else {
if (len == 2) {
y.hide();
n.show();
valInput.text("You need 7 more numbers");
} else {
if (len == 3) {
y.hide();
n.show();
valInput.text("You need 6 more numbers");
} else {
if (len == 4) {
y.hide();
n.show();
valInput.text("You need 5 more numbers");
} else {
if (len == 5) {
y.hide();
n.show();
valInput.text("You need 4 more numbers");
} else {
if (len == 6) {
y.hide();
n.show();
valInput.text("You need 3 more numbers");
} else {
if (len == 7) {
y.hide();
n.show();
valInput.text("You need 2 more numbers");
} else {
if (len == 8) {
y.hide();
n.show();
valInput.text("You need 1 more number");
} else {
if (len > 9) {
y.hide();
n.show();
valInput.text("Order number must be 9 digits");
// gt 9
}
// 8
}
// 7
}
// 6
}
// 5
}
// 4
}
// 3
}
// 2
}
// 1
}
// this is not equal to 9
}

更新

谢谢大家的回答!好东西很多,玩了一段时间就收下自己喜欢的。为了阐明当满足适当的要求时会发生什么,提交按钮会淡入,但直到它被验证时才会淡入。不确定它是否相关,但会提到该函数也作为“实时类型”运行,因此在每个 .keyup()

之后返回带有计数的消息

最佳答案

如果你不想使用switch,你可以这样做:

if (len < 9) {
y.hide();
n.show();
valInput.text("You need " + (9 - len) + " more number(s)");
}
else if (len > 9) {
y.hide();
n.show();
valInput.text("Order number must be 9 digits");
}
else {
// all good here...
}

如果您不喜欢 "number(s)" 部分,只需检查 len 是否不为 1,然后将 "s" 添加到 “数字”

关于javascript - 更有效的方式来写这个 if/else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18834166/

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