Obviamente, funciona para las personas, así que debo ser tonto, pero estoy pasando una serie de valores booleanos a través del prototipo .every() y SIEMPRE parece ser verdadero, incluso cuando no debería. así que aquí está el código
La llamada a la función se hace
checkAnswer();Entonces esta función se ejecuta.
const checkAnswer = () => { let arr = cardStyle.slice(lengthTest - 5, lengthTest); if (arr.every((x) => x === true)) { Alert.alert("Congratulations!", `You Won in ${rowCount} tries!`); } };Para un caso de prueba, esta función utiliza la variable de estado React "cardStyle", que es igual a [falso,falso,falso,falso,falso] (booleanos, no cadenas) y "rowCount" que es igual a 1. Luego hay una variable global lengthTest que inicialmente es igual a 5.
El comportamiento extraño es que pase lo que pase, la condición (arr.every((x) => x === true)) siempre parece evaluarse como verdadera, porque siempre aparece el cuadro Alerta. ¿Qué me estoy perdiendo?