Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

87
Visualizações
Cómo generar una nueva matriz multidimensional concatenada a partir de una matriz multidimensional con longitud dinámica

¿Cómo se puede convertir la matriz a en una matriz b ?

¿O cómo puedo generar una matriz multidimensional similar a una matriz basada en la matriz a continuación?

CONDICIONES: 1. la longitud de la matriz a es dinámica . 2. la longitud de cada elemento en la matriz a también es dinámica

 const a = [ ['red', 'blue'], ['small', 'medium', 'large'], ] const b = [ ['red', 'small'], ['red', 'medium'], ['red', 'large'], ['blue', 'small'], ['blue', 'medium'], ['blue', 'large'], ]

Ejemplo 2:

 const a = [ ['quadcore'], ['4GB', '8GB'], ['black', 'grey'], ] const b = [ ['quadcore', '4GB', 'black'], ['quadcore', '4GB', 'grey'], ['quadcore', '8GB', 'black'], ['quadcore', '8GB', 'grey'], ]
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Debe iterar a través de la matriz de matrices y empujarla una por una. Aquí está el código del fragmento:

 function print(arr) { let n = arr.length; let result = []; let indices = new Array(n); for(let i = 0; i < n; i++) indices[i] = 0; while (true) { // Print current combination let tmp = []; for(let i = 0; i < n; i++){ tmp.push(arr[i][indices[i]]); } result.push(tmp); let next = n - 1; while (next >= 0 && (indices[next] + 1 >= arr[next].length)) next--; // No such array is found so no more // combinations left if (next < 0) break; // If found move to next element in that // array indices[next]++; // For all arrays to the right of this // array current index again points to // first element for(let i = next + 1; i < n; i++) indices[i] = 0; } return result; } const a = [ ['quadcore'], ['4GB', '8GB'], ['black', 'grey'], ]; console.log(print(a));

Referencias: https://www.geeksforgeeks.org/combinations-from-n-arrays-picking-one-element-from-each-array/

about 4 years ago · Juan Pablo Isaza Relatório

0

Se puede usar un simple reduce() para resolver su pregunta.

 const arr = [ ["red", "blue"], ["small", "medium", "large"], ]; const output = arr.reduce((acc, cur) => { const store = []; for (const a of acc) { for (const c of cur) { if (Array.isArray(a)) { store.push([...a, c]); } else { store.push([a, c]); } } } return store; }); console.log(output);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda