[英]Where can I use the JS Switch case statement to convert these multiple If/Else statements?
[英]can i make this into 1 switch case instead of many if else statements
const ticket = {
movie : document.getElementById("movie").value,
amount : document.getElementById("amount").value,
};
这是我的对象,我想验证输入。 但我不确定如何将 if-else 语句更改为一个 switch case,因为它有不同的语句。
PS:出于学习目的,我需要使用 javaScript 而不是 jQuery。
if(ticket.movie ===""){
document.getElementById("warningMovie").innerHTML = "need to choose a movie"
}else{
document.getElementById("warningMovie").innerHTML = "";
}
if(ticket.amount === ""){
document.getElementById("warningAmount").innerHTML = "need to choose amount"
}else{
document.getElementById("warningAmount").innerHTML = "";
}
在这种情况下,我会使用三元运算符。 例如。:
document.getElementById("warningMovie")
.innerHTML = ticket.movie ? "" : "need to choose a movie"
像这样的东西?
我使用Object.entries和条件运算符(三元)两次:)
并将对象的键添加到跨度的 ID - 我可以使用 warningAmount 但随后我必须将键大写
请注意,对象可能是通过循环输入元素创建的
如果你不喜欢,也忽略("aeiou".indexOf(item[0].toLowerCase())>=0?"n ":" ")
const ticket = { movie: "", amount: 0, snack: "Chips", }; for (let [key, value] of Object.entries(ticket)) { document.getElementById("warning_" + key).innerHTML = value ? "" : "need to choose a"+ ("aeiou".indexOf(key[0].toLowerCase())>=0?"n ":" ") + key }
<span id="warning_movie"></span><br/> <span id="warning_amount"></span><br/> <span id="warning_snack"></span><br/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.