var guestlist = ["Angela", "Jack", "Thu", "Amy", "TC"]; var name = prompt("What is your name?"); if (name === "TC") { alert("Welcome " + name + " to the party!"); return; } else { var firstChar = name.slice(0, 1); var upperCaseChar = firstChar.toUpperCase(); var lastChar = name.slice(1, name.length); var lowerCaseChar = lastChar.toLowerCase(); var completeChar = upperCaseChar + lowerCaseChar; var name = completeChar; } if (guestlist.includes(name)) { alert("Welcome " + name + " to the party!"); } else { alert("Sorry, " + name + ". Unfortunately, you are not on the list.") }Acabo de empezar javascript. Entonces, estoy tratando de ver cómo puedo hacer que el primer IF se detenga. ¡Gracias chicos!
Intenta cambiar tu código a esto.
const guestlist = ["Angela", "Jack", "Thu", "Amy", "TC"]; const name = prompt("What is your name?"); const firstChar = name.slice(0, 1).toUpperCase(); const lastChar = name.slice(1, name.length).toLowerCase(); const completeChar = firstChar + lastChar; if (name === "TC") { alert("Welcome " + name + " to the party!"); } else if(guestlist.includes(completeChar)){ alert("Welcome " + completeChar + " to the party!"); }else{ alert("Sorry, " + completeChar + ". Unfortunately, you are not on the list.") }Ahora repasemos poco a poco por qué y cómo se ha cambiado:
Cambie todas sus vars a consts de acuerdo con los nuevos estándares de codificación ECMA.
Puede apilar métodos y en lugar de tener:
var firstChar = name.slice(0, 1); var upperCaseChar = firstChar.toUpperCase();
Simplemente puede hacerlo en una sola línea como esta: const firstChar = name.slice(0, 1).toUpperCase();
if...else que tienen varias condiciones en su interior.Simplemente coloque sus otras declaraciones if dentro de su primera declaración if's else y al final de 'if' no necesita usar return, es inútil (a menos que haya más código y su código esté dentro de alguna función que debe romperse en el punto de retorno para detener la ejecución)
var guestlist = ["Angela", "Jack", "Thu", "Amy", "TC"]; var name = prompt("What is your name?"); if (name === "TC") { alert("Welcome " + name + " to the party!"); //return; no need for this } else { var firstChar = name.slice(0,1); var upperCaseChar = firstChar.toUpperCase(); var lastChar = name.slice(1,name.length); var lowerCaseChar = lastChar.toLowerCase(); var completeChar = upperCaseChar + lowerCaseChar; var name = completeChar; if (guestlist.includes(name)) { alert("Welcome " + name + " to the party!"); } else { alert("Sorry, " + name + ". Unfortunately, you are not on the list.") } }¡Puede usar la función de parada para detenerse en el primer IF!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> </html> <script> var guestlist = ["Angela", "Jack", "Thu", "Amy", "TC"]; var name = prompt("What is your name?"); if (name === "TC") { alert("Welcome " + name + " to the party!"); stop(); } else { var firstChar = name.slice(0, 1); var upperCaseChar = firstChar.toUpperCase(); var lastChar = name.slice(1, name.length); var lowerCaseChar = lastChar.toLowerCase(); var completeChar = upperCaseChar + lowerCaseChar; var name = completeChar; } if (guestlist.includes(name)) { alert("Welcome " + name + " to the party!"); } else { alert("Sorry, " + name + ". Unfortunately, you are not on the list."); } </script> </body>