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

135
Visualizações
La matriz permanece vacía pero los datos se envían mediante la creación de una matriz temporal

Estoy escribiendo un programa para generar subconjuntos de una matriz dada en Javascript. Estoy empujando los subconjuntos a otra matriz de variables globales llamada subMegaSet. Pero cuando accedo a subMegaSet en otra función, la matriz contiene subconjuntos vacíos. Pero si presiono los valores creando otra matriz temporal, los subconjuntos se insertan en subMegaSet. No puedo depurar esto.

 function createSubsets(nums, n, arr, index){ if(arr.length >= 0){ let temp = []; for(let item of arr){ temp.push(item); } // subMegaSet.push(arr) ----> Empty array pushed subMegaSet.push(temp); } if(index === n){ return; } for(let i=index; i<n; i++){ arr.push(nums[i]); createSubsets(nums, n, arr, i+1); arr.pop(); }

}

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Solo hay una matriz arr . Los valores se insertan y extraen de él, pero sigue siendo una sola matriz. Esto significa que cada vez que haces subMegaSet.push(arr) agregas la misma matriz a ese subMegaSet . Por lo tanto, no es posible que subMegaSet[0] sea una matriz diferente a subMegaSet[1] , etc. En todos los índices encontrará la misma matriz. Si al final de todo el procedimiento esa matriz se ha quedado vacía, todo lo que encontrará en subMegaSet será una matriz vacía, repetidamente.

Esta es la razón por la que necesita copiar la matriz en una matriz nueva (separada), cuando la inserta en subMegaSet , para garantizar que:

  • Cualquier push o pop futuro en arr no afecta la matriz que acaba de agregar a subMegaSet
  • Todas las entradas de subMegaSet son instancias de matriz diferentes.

Puede simplificar esa copia usando la sintaxis extendida:

 subMegaSet.push([...arr])
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