Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Imprimindo resultado divergente

const listaLivros = require('./array');

function mergeSort(array) {
    if (array.length > 1) {
      const meio = Math.floor(array.length / 2);
      const parte1 = mergeSort(array.slice(0, meio));
      const parte2 = mergeSort(array.slice(meio, array.length)); 
      array = ordena(parte1, parte2); 
    }
    return array;
}

function ordena(parte1, parte2) {
  let posicaoAtualParte1 = 0;
  let posicaoAtualParte2 = 0;
  const resultado = [];

  while (posicaoAtualParte1 < parte1.length && posicaoAtualParte2 < parte2.length) {
    let produtoAtualParte1 = parte1[posicaoAtualParte1];
    let produtoAtualParte2 = parte2[posicaoAtualParte2];

    if (produtoAtualParte1.preco < produtoAtualParte2.preco) {
      resultado.push(produtoAtualParte1);
      posicaoAtualParte1++;
    } else {
      resultado.push(produtoAtualParte2);
      posicaoAtualParte2++;
    }
  }
  return resultado.concat(posicaoAtualParte1 < parte1.length 
    ? parte1.slice(posicaoAtualParte1) 
    : parte2.slice(posicaoAtualParte2));
}

console.log(mergeSort(listaLivros));
1 resposta
solução!

Oi, Felype! Tudo bem?

Testei o código que você compartilhou e ele não apresenta nenhum problema em sua estrutura para poder imprimir um resultado divergente.

Com base nisso, imagino que o seu problema pode está relacionado ao código do arquivo array.js, então peço que verifique se seu código se encontra igual ao que irei compartilhar logo abaixo:

const listaLivros = [
  {
    titulo: "Go",
    preco: 45
  },
  {
    titulo: "C++",
    preco: 35
  },
  {
    titulo: "Java",
    preco: 30
  },
  {
  titulo: "PHP",
  preco: 15
  },
  {
    titulo: "Elixir",
    preco: 50
  },
  {
    titulo: "Rust",
    preco: 22
  },
  {
    titulo: "Scala",
    preco: 40
  },
  {
    titulo: "Ruby",
    preco: 28
  },
  {
    titulo: "JavaScript",
    preco: 25
  },
  {
    titulo: "C#",
    preco: 33
  },
  {
    titulo: "Python",
    preco: 20
  },
]

module.exports = listaLivros

Caso esteja tudo certo, peço que compartilhe um print mostrando todo seu ambiente no VScode, todas pastas, arquivos e códigos do projeto. Além disso, também mostre a forma que o resultado foi impresso no terminal.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.