logo

Método de clasificación de matriz de JavaScript ()

El sort()> método en JavaScript organiza los elementos de una matriz en su lugar y devuelve la matriz ordenada. De forma predeterminada, ordena los elementos alfabéticamente y los trata como cadenas.

Sin embargo, para la clasificación numérica, puede proporcionar una función de comparación personalizada. Esta función dicta los criterios de clasificación, permitiendo un control preciso sobre el proceso de clasificación. `sort()` mejora la eficiencia y funcionalidad de las aplicaciones JavaScript al permitirle organizar elementos de matriz de acuerdo con requisitos específicos de una manera profesional y formal.

Sintaxis



arr.sort(compareFunction);>

Parámetros

  • array>: La matriz que se va a ordenar.
  • compareFunction>(Opcional): una función que define el orden de clasificación. Si se omite, los elementos de la matriz se ordenan según los puntos de código Unicode de su cadena.

Valor de retorno

Este método devuelve la referencia de la matriz original ordenada.

shweta tiwari

Ejemplos:

Ejemplo 1: Ordenar una serie de cadenas

Este ejemplo muestra el uso de la función sort().

javascript
// JavaScript to illustrate sort() function function func() {  // Original string  let arr = ['Geeks', 'for', 'Geeks']  console.log(arr);  // Sorting the array  console.log(arr.sort()); } func();>

Producción
[ 'Geeks', 'for', 'Geeks' ] [ 'Geeks', 'Geeks', 'for' ]>

Explicación:

Elsort()>El método reorganiza los elementos de laarr>matriz alfabéticamente, produciendo la salida['Geeks', 'Geeks', 'for']>.

cómo recuperar aplicaciones ocultas

Ejemplo 2: Ordenar una serie de números sin función de comparación

Aquí el clasificar() El método organiza los elementos de la matriz en orden ascendente.

javascript
// JavaScript to illustrate sort() function function func() {  //Original string  let arr = [2, 5, 8, 1, 4]  //Sorting the array  console.log(arr.sort()); } func();>

Producción
[ 1, 2, 4, 5, 8 ]>

Explicación:

Elsort()>El método se llama en una matriz de números.[2, 5, 8, 1, 4]>. Elsort()>El método ordenará los elementos alfabéticamente porque no se proporciona ninguna función de comparación. Por lo tanto, la salida será[1, 2, 4, 5, 8]>, que está ordenado alfabéticamente según las representaciones de cadena de los números.

Ejemplo 3: Ordenar valores numéricos sin función de comparación

Aquí, estamos ordenando valores numéricos sin función de comparación.

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0] console.log(numbers.sort())>

Producción
[ -120, 0, 100, 20, 30, 5.2 ]>

Explicación:

sesgo y varianza

Cuando usas elsort()>método sin una función de comparación, JavaScript ordena los elementos de la matriz como cadenas de forma predeterminada, lo que no siempre produce los resultados esperados para las matrices numéricas. Analicemos el proceso de clasificación:

  • JavaScript convierte cada elemento de la matriz en una cadena.
  • Luego compara las unidades de código UTF-16 de cada carácter en las cadenas y las clasifica según el valor del punto del código Unicode.

Esto es lo que sucede con su matriz:

  • Los números se convierten en cadenas:['20', '5.2', '-120', '100', '30', '0']>.
  • Cuando se ordenan alfabéticamente,-120>es lo primero porque->tiene un valor de punto de código Unicode más bajo que los dígitos (0>a9>). Luego viene0>, seguido por100>,20>,30>, y5.2>.

Ejemplo 4: Ordenar valor numérico con función de comparación

Podemos resolver el error inesperado que ocurrió en el ejemplo anterior usando el método sort() para números usando la siguiente función de comparación.

JavaScript
let numbers = [20, 5.2, -120, 100, 30, 0]; /* Logic:   20 - (5.2) = +ve =>5.2 se colocaría antes de 20, 20 - (-120) = +ve => -120 se colocaría antes de 20, 20 - (100) = -ve => 100 se colocaría después de 20, 20 - (30) = - ve => 30 se colocaría después de 20, 20 - (0) = +ve => 0 se colocaría antes de 20. De manera similar, para cada elemento, los verificamos y los colocamos en consecuencia en iteraciones. */ función comparar(a, b) { return a - b; } console.log(numbers.sort(comparar));>

Producción
[ -120, 0, 5.2, 20, 30, 100 ]>

Explicación:

  • Elcompare>función restab>dea>. Si el resultado es negativo,a>viene antesb>en la matriz ordenada; si es positivo,b>viene antesa>; si es cero, su orden relativo permanece sin cambios.
  • Al proporcionar esta función de comparación personalizada alsort()>método, JavaScript ordena la matriznumbers>basándose en los valores numéricos de sus elementos.

Por favor revisa esto ¿Cómo ordenar una matriz numérica usando JavaScript? , para saber cómo funciona la función de clasificación de matrices de JavaScript

concatenar cadena java

Tenemos una lista completa de métodos de matriz de Javascript; para verificarlos, consulte esto Referencia completa de matriz Javascript artículo.

Navegadores compatibles:

  • Google Chrome
  • Borde
  • explorador de Internet
  • Firefox
  • Ópera
  • Safari