Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Javascript: compare matrices booleanas y cree una nueva

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.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

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);

about 4 years ago · Juan Pablo Isaza Denunciar

0

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)

about 4 years ago · Juan Pablo Isaza Denunciar

0

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);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda