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

217
Visualizações
Cómo insertar una matriz en otra matriz en cada iteración de un bucle for en javascript

Tengo una función para ordenar burbujas y quiero guardar la matriz después de cada intercambio en otra matriz. La ordenación de burbujas funciona correctamente y puedo registrar la matriz después de cada intercambio en la consola. Pero parece que no puedo empujar a la otra matriz correctamente.

Aquí está mi código:

 var arr = [5, 4, 3, 2, 1]; var steps = []; function bubbleSort() { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); } var temp = arr; console.log(temp); steps.push(temp); } } console.log(steps); } const swap = (a, x, y) => { var temp = a[x]; a[x] = a[y]; a[y] = temp; }; bubbleSort();

Aquí hay una captura de pantalla de la consola:

captura de pantalla de la consola

¿Es solo cuando trato de obtener una retención de la matriz en cada paso que no se muestra correctamente? ¿Qué debo hacer?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Creo que clonar la matriz podría funcionar. var temperatura = [...arr];

 var arr = [5, 4, 3, 2, 1]; var steps = []; function bubbleSort() { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); } var temp = [...arr]; console.log(temp); steps.push(temp); } } console.log(steps); } const swap = (a, x, y) => { var temp = a[x]; a[x] = a[y]; a[y] = temp; }; bubbleSort();

about 4 years ago · Santiago Trujillo Relatório

0

Está insertando la referencia de Temp-Array y no el contenido real. De esta manera, almacena varias veces la referencia y al final se le presentan todas esas referencias que apuntan a la última versión de su Temp Array.

Puede usar la asignación de desestructuración de una matriz para crear una copia superficial fácil de almacenar.

 var arr = [5, 4, 3, 2, 1]; var steps = []; function bubbleSort() { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); } var temp = arr; console.log(temp); // Changed to destructuring assignment steps.push([...temp]) } } console.log(steps); } const swap = (a, x, y) => { var temp = a[x]; a[x] = a[y]; a[y] = temp; }; bubbleSort();

about 4 years ago · Santiago Trujillo 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