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

131
Visualizações
Realmente confundido acerca de ordenar en JS

hoy estaba escribiendo algo de código y me di cuenta de que no puedo hacer x.push(5, 9).sort(); //wrong ni puedo hacer x.sort(x.push(5, 9)); //wrong y tenía que hacer

 x.push(5, 9); x.sort();

Me preguntaba si no hay forma de que sea una sola línea.> Además, ¿cuál es la diferencia entre las dos líneas a continuación?

 x.sort((a, b) => a - b); x.sort();
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

.push devuelve la nueva longitud de la matriz, no la matriz mutada. Si desea empujar y ordenar al mismo tiempo, considere crear una nueva matriz y luego ordenarla.

 const sortedArr = [...arr, 5, 9].sort(); // or, .sort((a, b) => a - b)

.sort() sin ningún argumento ordena cada elemento de la matriz comparándolos lexiográficamente, como cadenas, lo que da como resultado resultados poco intuitivos como [1, 11, 2] .

Una devolución de llamada personalizada le permite personalizar el comportamiento: cuando un elemento de una matriz se compara con otro, en lugar de usar la comparación lexiográfica, se invoca la devolución de llamada y si el valor de retorno es negativo, positivo o 0 determina si los dos elementos se obtienen. ordenadas antes, después o en la misma posición (relativa) a la otra. Entonces, al ordenar una matriz de números numéricamente, siempre querrás usar algo como (a, b) => a - b .

about 4 years ago · Juan Pablo Isaza Relatório

0

Otra forma de empujar y ordenar en una línea es usar concat para crear una nueva matriz que luego se puede ordenar:

 const arr = [1, 6, 10] const sortedArr = arr.concat([5, 9]).sort((a, b) => a - b) console.log(sortedArr)

Como @CertainPerformance ya ha señalado, debe usar una devolución de llamada para ordenar correctamente los valores numéricos, ya que la ordenación de cadenas de números produce resultados incorrectos.

about 4 years ago · Juan Pablo Isaza 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