Tengo curiosidad de cómo podría comparar estas matrices, tenga en cuenta que este es un ejemplo, no se limita a 4 matrices, ya que esto podría ser más o menos dependiendo de la selección del usuario)
let array0 = [false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true ,true ,false,false,false,false,false,false,false,false,true ,true ,true ,true,true,false,true,true,true,true,false,false] let array1 = [true ,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true ,true ,true ,true ,false,true ,false,true ,true ,false,true ,true ,true ,true ,true,true,true ,true,true,true,true,true ,true ] let array2 = [true ,true,true ,true ,true ,true ,true ,true ,true,true ,true ,true ,true ,true ,true ,true ,true ,false,false,false,false,false,false,false,false,false,false,false,false,false,false,false,true,true,true ,true,true,true,true,true ,true ] let array3 = [true ,true,true ,true ,true ,true ,true ,true ,true,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true ,true,true,true ,true,true,true,true,true ,true ]El objetivo final es obtener una nueva matriz con un valor verdadero o falso basado en la comparación/validación de todas las matrices anteriores, solo se debe establecer un valor verdadero si las 4 matrices tienen un valor verdadero en esa posición de índice y un valor falso. si de ellos o no por ejemplo:
| Formación | resultado | Formación | resultado | Formación | resultado |
|---|---|---|---|---|---|
| arreglo0[0] | falso | arreglo0[1] | verdadero | arreglo0[2] | falso |
| matriz1[0] | verdadero | matriz1[1] | verdadero | matriz1[2] | falso |
| matriz2[0] | verdadero | matriz2[1] | verdadero | matriz2[2] | verdadero |
| matriz3[0] | verdadero | matriz3[1] | verdadero | matriz3[2] | falso |
| resultado | falso | verdadero | falso |
let resultArray = [false, true, false, false, /* etc */]Espero haber explicado esto correctamente.
Puede transponer la matriz y mapear todos los elementos que tengan valores verdaderos.
const array0 = [false, true, false, true, true], array1 = [true, true, false, false, true], array2 = [false, true, true, false, true], array3 = [true, true, true, true, true], transpose = (r, a) => a.map((v, i) => [...(r[i] || []), v]), result = [array0, array1, array2, array3] .reduce(transpose, []) .map(a => a.every(Boolean)) console.log(result);Dado que todas sus matrices tienen la misma longitud, supongo que simplemente podría hacer eso:
let array0 = [false, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, false, true, true, true, true, true, false, true, true, true, true, false, false] let array1 = [true, true, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, true, true, true, true, false, true, false, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true] let array2 = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, true, true, true, true, true, true, true, true] let array3 = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true] let result = Array.from({ length: array0.length }).map((_, i) => array0[i] && array1[i] && array2[i] && array3[i]) console.log(result)Creo que deberías crear una matriz que contenga todas tus matrices. Entonces probablemente necesitarás un bucle for doble para calcular valores individuales. Verifique el índice n para cada matriz y calcule el valor, donde i es de 0 a la longitud de la matriz (básicamente, verifique todos los índices). Deberías obtener tu resultado calculado. A continuación se usan solo 2 matrices:
let array0 = [false,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,true,true,false,false,false,false,false,false,false,false,true,true,true,true,true,false,true,true,true,true,false,false] let array1 = [true,true,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,true,true,true,true,false,true,false,true,true,false,true,true,true,true,true,true,true,true,true,true,true,true,true] let newArr = [array0,array1]; let ans = []; for(let i = 0 ; i < array1.length; i++){ let val = true; for(let j = 0 ;j < newArr.length; j++){ val = val && newArr[j][i]; if(!val) break; } ans.push(val); } console.log(ans);