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

197
Vistas
Generando todas las combinaciones de una matriz con algunas excepciones

Tenía una matriz como esta a continuación

const myArray = [1, 2, 3, 4, 5, 6];

y pude obtener todas las combinaciones posibles con esta función.

 function getCombinations(list) { var set = [], listSize = list.length, combinationsCount = 1 << listSize, combination; for (var i = 1; i < combinationsCount; i++) { var combination = []; for (var j = 0; j < listSize; j++) { if (i & (1 << j)) { combination.push(list[j]); } } set.push(combination); } return set; }

funciona bien y obtengo 63 combinaciones posibles con la matriz anterior

mi problema comienza aquí. Quiero todas las combinaciones posibles, pero con una excepción, mi conjunto de elementos está en un grupo como este a continuación.

 const myArray = [ { groupId: "foo", value: 1 }, { groupId: "foo", value: 2 }, { groupId: "foo", value: 3 }, { groupId: "bar", value: 4 }, { groupId: "bar", value: 5 }, { groupId: "zoo", value: 6 }, ];

Quiero obtener todas las combinaciones posibles, pero cada combinación solo debe tener un elemento de un grupo

por ejemplo, hay una salida correcta que estoy buscando

 const myArray = [ { groupId: "foo", value: 1 }, ]; const myArray = [ { groupId: "foo", value: 1 }, { groupId: "zoo", value: 6 }, ]; const myArray = [ { groupId: "foo", value: 1 }, { groupId: "bar", value: 5 }, { groupId: "zoo", value: 6 }, ]; const myArray = [ { groupId: "bar", value: 5 }, { groupId: "zoo", value: 6 }, ];

Como puede ver, quiero que cada grupo solo tenga uno de sus elementos en las combinaciones generadas

Estas son las combinaciones que no quiero que se generen

 const myArray = [ { groupId: "bar", value: 4 }, { groupId: "bar", value: 5 }, { groupId: "zoo", value: 6 }, ]; const myArray = [ { groupId: "foo", value: 1 }, { groupId: "zoo", value: 6 }, { groupId: "zoo", value: 7 }, ];

tenemos dos elementos con la etiqueta de grupo zoo No quiero estas salidas.

about 4 years ago · Juan Pablo Isaza
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