1
resposta

Duvida - sort

Fala galera to com uma duvida de como usar o sort para colocar os times em ordem alfabetica, alguem consegue me ajudar com essa?

1 resposta

Olá, Pamella!

Conseguir implementar a sua ideia no meu projeto ficou bem legal em resumo, com o seguinte código no app.js, uma observação é que eu utilizo a versão da quinta aula, então talvez tenha uma coisa ou outra a mais do que o seu, código:

const timesOrdenados = times.slice().sort((a, b) => a.nome.localeCompare(b.nome));

Vou dividir a explicação em partes:

  1. times.slice(): A função slice() é usada para criar uma cópia do array times. Isso é importante porque o método sort() modifica o array original e isso pode não ser legal.

  2. .sort((a, b) => a.nome.localeCompare(b.nome)): Aqui, usamos o método sort() para ordenar os elementos do array. O método sort() recebe uma função de comparação como argumento, que determina a ordem de classificação dos elementos.

O resultado dessa operação é o array timesOrdenados, que contém os mesmos objetos do array times, mas ordenados em ordem alfabética com base no nome de cada time, sendo assim depois basta implementar na section do app.js, ficando assim:

<section className="times">
        <h1>Minha organização</h1>
        {timesOrdenados.map((time, indice) => <Time key={indice} time={time} colaboradores={colaboradores.filter(colaborador => colaborador.time === time.nome)} />)}
      </section>

Dessa forma, ao renderizar os times no componente App, eles serão exibidos em ordem alfabética pelo nome, observe meu resultado que bacana: Foto do projeto com a ideia da Aluna Pamella

Espero ter ajudado, reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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