Olá Alini, tudo bem?
Desde já peço desculpa pela demora para responder o seu tópico.
Na verdade, a função de retorno tem a finalidade de retornar o resultado da função para quem a chamou. No caso do algoritmo de junção de listas, a função retorna o array "retorno" que contém todos os elementos das duas listas originais ordenados por preço.
Sobre a sua dúvida em relação ao uso do método slice()
, ele é utilizado para criar uma cópia de um array ou de uma parte dele. No caso do algoritmo de ordenação, é necessário dividir o array original em partes menores para ser possível ordená-las separadamente e, em seguida, juntá-las novamente em um único array ordenado. O método slice()
é utilizado para criar essas partes menores.
Mesmo que a parte1 e a parte2 contenham apenas um elemento, é necessário utilizá-lo para ser possível criar as partes menores e, assim, ordená-las corretamente. Se usássemos apenas a variável parte1, estaríamos trabalhando com o array original e não com uma cópia dele, o que poderia causar problemas na ordenação.
Espero ter esclarecido a sua dúvida! Se tiver mais alguma dúvida, é só falar.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.