Como o método Sort() do Javascript utiliza uma função de retorno de chamada para classificação numérica
Em Javascript, o método sort() permite que arrays sejam classificados de forma personalizada. Compreender as complexidades desse método pode ser desafiador, especialmente para iniciantes.
Como o método Sort() utiliza uma função de retorno de chamada
O método sort() aceita um retorno de chamada funcionar como argumento. Esta função é invocada diversas vezes durante o processo de classificação, com dois números passados para ela a cada vez. Esses números representam os elementos atuais que estão sendo comparados. O valor de retorno da função determina como esses elementos são ordenados no array classificado final.
Exemplo:
Considere o seguinte código:
var array=[25, 8, 7, 41] array.sort(function(a,b){ return a - b })
Neste exemplo, o método sort() é usado para organizar o array array em ordem numérica crescente. A função de retorno de chamada é definida da seguinte forma:
function(a,b){ return a - b }
Esta função de retorno de chamada usa dois parâmetros, aeb, representando os dois elementos que estão sendo comparados. Ele calcula sua diferença (a - b).
Critérios de classificação
O resultado do cálculo da função de retorno de chamada determina a ordem de classificação. Se o resultado for:
Processo de classificação
O método sort() itera pela matriz, invocando a função de retorno de chamada para cada par de elementos . Com base na saída da função, ela ajusta a ordem dos elementos até que todo o array seja classificado.
Log de invocações de retorno de chamada (exemplo)
Se modificamos o retorno de chamada funcionam da seguinte forma:
function(a,b){ console.log(`comparing ${a},${b}`); return a > b ? 1 : a === b ? 0 : -1; }
Obteríamos o seguinte log de invocações de retorno de chamada:
comparing 25,8 comparing 25,7 comparing 8,7 comparing 25,41
Isso demonstra que a função de retorno de chamada é de fato invocada várias vezes, com os pares de elementos mudando a cada iteração.
Em resumo, o método sort() do Javascript utiliza uma função de retorno de chamada para determinar a ordem de classificação dos elementos da matriz comparando-os em pares. Esta função de retorno de chamada é invocada várias vezes durante o processo de classificação e sua saída determina a matriz classificada final.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3