Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Ordenar Arreglos con el Método sort() | Métodos Avanzados de Arreglos y Transformaciones
Estructuras de Datos en JavaScript

bookOrdenar Arreglos con el Método sort()

sort()

El método sort() reorganiza los elementos de un arreglo en su lugar y devuelve el arreglo actualizado. Por defecto, la ordenación funciona bien para cadenas de texto, pero puede comportarse de manera inesperada con números.

Comportamiento de ordenación predeterminado

El método sort() convierte los elementos a cadenas de texto por defecto y los compara según el orden Unicode. Por esta razón, funciona de forma natural para cadenas, pero los arreglos numéricos pueden producir resultados inesperados a menos que se proporcione una función de comparación.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

Para ordenar números correctamente, utilice una función de comparación:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Ordenamientos Personalizados

Para adaptar el ordenamiento a necesidades específicas, se emplea una función de devolución de llamada. Esta función, a menudo llamada función de comparación, determina la lógica de ordenamiento. Exploremos ordenamientos personalizados tanto para números como para cadenas. Sintaxis básica:

array.sort((a, b) => {
  // Callback body
});
  • a se considera como el primer elemento;
  • b se considera como el segundo elemento.

Ordenar números

En este caso, la función de comparación determina el orden ascendente y descendente según la relación entre los elementos a y b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Ordenar cadenas

El método localeCompare() facilita la ordenación alfabética, permitiendo la personalización tanto para órdenes ascendentes como descendentes.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. ¿Cuál es una característica clave del método sort()?

2. En el comportamiento de ordenación predeterminado del método sort(), ¿cómo trata los elementos?

3. En el siguiente ejemplo, ¿cuál será la salida?

question mark

¿Cuál es una característica clave del método sort()?

Select the correct answer

question mark

En el comportamiento de ordenación predeterminado del método sort(), ¿cómo trata los elementos?

Select the correct answer

question mark

En el siguiente ejemplo, ¿cuál será la salida?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 7

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

bookOrdenar Arreglos con el Método sort()

Desliza para mostrar el menú

sort()

El método sort() reorganiza los elementos de un arreglo en su lugar y devuelve el arreglo actualizado. Por defecto, la ordenación funciona bien para cadenas de texto, pero puede comportarse de manera inesperada con números.

Comportamiento de ordenación predeterminado

El método sort() convierte los elementos a cadenas de texto por defecto y los compara según el orden Unicode. Por esta razón, funciona de forma natural para cadenas, pero los arreglos numéricos pueden producir resultados inesperados a menos que se proporcione una función de comparación.

123
const numbers = [1, 2, 10, 21]; numbers.sort(); console.log(numbers); // Output: 1, 10, 2, 21
copy

Para ordenar números correctamente, utilice una función de comparación:

1234
const numbers = [1, 2, 10, 21]; const ascending = [...numbers].sort((a, b) => a - b); console.log(ascending); // Output: 1, 2, 10, 21
copy

Ordenamientos Personalizados

Para adaptar el ordenamiento a necesidades específicas, se emplea una función de devolución de llamada. Esta función, a menudo llamada función de comparación, determina la lógica de ordenamiento. Exploremos ordenamientos personalizados tanto para números como para cadenas. Sintaxis básica:

array.sort((a, b) => {
  // Callback body
});
  • a se considera como el primer elemento;
  • b se considera como el segundo elemento.

Ordenar números

En este caso, la función de comparación determina el orden ascendente y descendente según la relación entre los elementos a y b.

1234567
const numbers = [34, 25, 19, 1, 92, 2, 3]; const ascendingNumbers = [...numbers].sort((a, b) => a - b); console.log(ascendingNumbers); // Output: 1, 2, 3, 19, 25, 34, 92 const descendingNumbers = [...numbers].sort((a, b) => b - a); console.log(descendingNumbers); // Output: 92, 34, 25, 19, 3, 2, 1
copy

Ordenar cadenas

El método localeCompare() facilita la ordenación alfabética, permitiendo la personalización tanto para órdenes ascendentes como descendentes.

1234567
const employees = ["Antonia", "Rene", "Casey", "Lorraine", "Shelia"]; const inAlphabetOrder = [...employees].sort((a, b) => a.localeCompare(b)); console.log(inAlphabetOrder); // Antonia, Casey, Lorraine, Rene, Shelia const inReversedOrder = [...employees].sort((a, b) => b.localeCompare(a)); console.log(inReversedOrder); // Shelia, Rene, Lorraine, Casey, Antonia
copy

1. ¿Cuál es una característica clave del método sort()?

2. En el comportamiento de ordenación predeterminado del método sort(), ¿cómo trata los elementos?

3. En el siguiente ejemplo, ¿cuál será la salida?

question mark

¿Cuál es una característica clave del método sort()?

Select the correct answer

question mark

En el comportamiento de ordenación predeterminado del método sort(), ¿cómo trata los elementos?

Select the correct answer

question mark

En el siguiente ejemplo, ¿cuál será la salida?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 5. Capítulo 7
some-alt