Estoy bastante seguro de que me estoy perdiendo algo básico aquí, pero tengo problemas para usar múltiples or o || operadores con mi sentencia if.
Por alguna razón, la instrucción if no capta la variable de nombre:
testword = "billy" if ((testword != "billy") || (testword != "tom") || (testword != "sara") || (testword != "michael")) { console.log("none of the names match") } else { console.log("name found!") } Cuando intento esto, no none of the names match cuando debería encontrar el name found!
Tu lógica es un poco complicada.
Un enfoque mucho más simple para escribir y comprender es poner todos esos nombres en una matriz y ver si la matriz incluye la palabra de prueba. Esta es solo una prueba booleana
const testword = "billy", words = ["billy", "tom", "sara", "michael"] if (words.includes(testword)) { console.log("name found!") } else { console.log("none of the names match") }Los operadores or se ejecutan como verdaderos cuando alguna de las condiciones no es igual a testword , por lo que no se registra none of the names match .
Sin embargo, puede intentar cambiar su código a
testword = "billy" names = ['billy','tom','sara','michael',] if (names.indexOf(testword) != -1) { console.log("name found!") } else { console.log("none of the names match") }