Tengo una matriz de valores booleanos, que comienza como falso, porque al menos uno de los valores es falso:
validación de var = [false, true, true]
En cierto momento, tendrá todas las opciones (índice) como “verdadero”, como:
validación = [true, true, true]
¿Cómo puedo configurar esta matriz como “verdadera” cuando todas las opciones son verdaderas?
Lo siento por la pregunta tonta.
mohammad usman
Puedes usar .every()
método:
let arr1 = [false, true, true],
arr2 = [true, true, true];
let checker = arr => arr.every(v => v === true);
console.log(checker(arr1));
console.log(checker(arr2));
Como mencionó @Pointy, simplemente puede pasar Boolean
como devolución de llamada a every()
:
let arr1 = [false, true, true],
arr2 = [true, true, true];
let checker = arr => arr.every(Boolean);
console.log(checker(arr1));
console.log(checker(arr2));
-
O simplemente
let result = arr1.every(Boolean);
– el constructor booleano regresarátrue
ofalse
.– Puntiagudo
22 de diciembre de 2018 a las 17:08
Puede usar esto para verificar si todos los valores en la matriz son verdaderos,
validation.every(Boolean)
-
Esto fallaría si incluye cadenas
["FALSE"].every(Boolean)
volvería verdadero– ADÉTULA DE TOLULOPE
9 de agosto de 2021 a las 16:24
-
@TOLULOPEADETULA Eso es lo esperado. “FALSO” es un valor verdadero en JS. No puede evaluar los valores de cadena como falsos en función de su contenido
– Abhishek Agarwal
6 sep 2021 a las 12:32
Puede verificar si la matriz tiene un valor “falso” usando el método “incluye”, por ejemplo:
if (validation.includes(value)) {
// ... your code
}
-
no, esto no hace justicia a todos los valores, ¡solo verifica si uno de los valores de la matriz incluye su valor!
– danés
24/10/2022 a las 17:55
-
@Danish if (!validation.includes(false)) { } por ejemplo. ¡Aunque .every() es mucho mejor!
– Jaime G.
14 de diciembre de 2022 a las 22:11
También podría usar “algunos” por ejemplo: var arr = [true, true, true, true, true, true ]; var allTrue = !arr.some(x => x === false); consola.log(todosVerdaderos);
– darmis
22 de diciembre de 2018 a las 17:49
@darmis además
some
será más rápido ya que se detendrá tan pronto como encuentrefalse
– no es necesario verificar cada elemento para ver si todostrue
– Dios bendiga fresa
8 de julio de 2021 a las 9:50