Regístrate para acceder a más de 15 cursos gratuitos de programación con un simulador

Ordenamiento de arrays JS: Arrays

Cuando trabajamos con datos en forma de listas o arrays, es común querer organizarlos en un orden específico, como de menor a mayor o alfabéticamente. JavaScript nos proporciona una forma sencilla de hacerlo con el método sort(), pero también es importante conocer cómo funcionan los algoritmos de ordenamiento por dentro.

Esta habilidad es útil, no solo en entrevistas de trabajo, sino también para mejorar nuestro pensamiento algorítmico y aprender a resolver problemas de manera eficiente.

Ordenar Arrays con sort()

En JavaScript, ordenar un array es bastante fácil gracias al método sort(). Este método modifica directamente el array original y ordena los elementos en función de la comparación que definamos.

const numbers = [8, 3, 10];

// Ordenamos de menor a mayor
numbers.sort((a, b) => a - b);
console.log(numbers); // => [3, 8, 10]

// Si queremos orden inverso, podemos usar reverse()
numbers.reverse();
console.log(numbers); // => [10, 8, 3]

¿Por qué preguntan sobre ordenamiento en entrevistas?

Muchas entrevistas técnicas piden que implementemos un algoritmo de ordenamiento desde cero. Aquí no se trata de reinventar la rueda, sino de evaluar aspectos clave en un programador:

💼 Conocimiento de algoritmos: Nos ayuda a entender mejor cómo funciona la informática.

💼 Habilidad para programar: La capacidad de construir una solución sin depender de funciones predefinidas.

💼 Pensamiento lógico y algorítmico: Resolver problemas de manera estructurada.

Introducción a los Algoritmos de Ordenamiento

Existen varios métodos para ordenar arrays, pero uno de los más populares en programación educativa es el ordenamiento de burbuja (bubble sort). 🫧 Aunque en la vida real no se usa mucho debido a su ineficiencia, es útil para aprender los fundamentos del ordenamiento.

¿Cómo funciona el Ordenamiento de Burbuja?

El ordenamiento de burbuja recorre el array muchas veces, comparando elementos en pares y realizando intercambios cuando uno es mayor que el siguiente.

🫧 En cada pasada, el número más grande "flota" hasta su posición correcta, como una burbuja en el agua.

🫧 Se repiten los recorridos hasta que no haya más elementos fuera de orden.

Implementación en JavaScript

Veamos cómo podemos escribir una función que ordene un array con el método de burbuja:

// Función que ordena un array con el algoritmo de burbuja
const bubbleSort = (coll) => {
  let stepsCount = coll.length - 1;
  let swapped;

  do {
    swapped = false;

    // Recorre el array comparando elementos adyacentes
    for (let i = 0; i < stepsCount; i += 1) {
      if (coll[i] > coll[i + 1]) {
        // Intercambiamos los elementos si están en mal orden
        const temp = coll[i];
        coll[i] = coll[i + 1];
        coll[i + 1] = temp;
        swapped = true; // Marcamos que hubo un intercambio
      }
    }

    stepsCount -= 1; // Reducimos el rango a evaluar en la siguiente iteración
  } while (swapped); // Continuamos hasta que no haya más intercambios

  return coll;
};

console.log(bubbleSort([3, 2, 10, -2, 0])); // => [ -2, 0, 2, 3, 10 ]

Explicación paso a paso

  1. Bucle interno (for): Recorre el array comparando elementos adyacentes, intercambiándolos si están en el orden incorrecto.
  2. Bucle externo (do...while): Repite el proceso hasta que no haya más intercambios, lo que significa que el array ya está ordenado.

Cada pasada por el array coloca el mayor número restante al final, reduciendo progresivamente el número de elementos a revisar.

Resumen

  • En JavaScript, la manera más fácil de ordenar un array es usando sort().
  • En las entrevistas técnicas, pedir implementar un algoritmo de ordenamiento ayuda a evaluar el pensamiento lógico del candidato.
  • Ordenamiento de burbuja es un algoritmo simple que ordena elementos comparándolos en pares y moviendo los más grandes hacia el final.
  • Aunque no es eficiente en aplicaciones reales, entenderlo es clave para mejorar nuestras habilidades algorítmicas.

Ahora intenta escribir tu propia versión de bubbleSort sin mirar la teoría. ¡Es un excelente ejercicio para entrenar la lógica de programación!


Materiales adicionales

  1. Array.prototype.sort() / MDN Web Docs
  2. Bucle do...while / MDN Web Docs
  3. Visualización de algoritmos de ordenamiento.

Para acceder completo a curso necesitas un plan básico

El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.

Obtener acceso
130
cursos
1000
ejercicios
2000+
horas de teoría
3200
test

Obtén acceso

Cursos de programación para principiantes y desarrolladores experimentados. Comienza tu aprendizaje de forma gratuita

  • 130 cursos, 2000+ horas de teoría
  • 1000 ejercicios prácticos en el navegador
  • 360 000 estudiantes
Al enviar el formulario, aceptas el «Política de privacidad» y los términos de la «Oferta», y también aceptas los «Términos y condiciones de uso»

Nuestros graduados trabajan en empresas como:

Bookmate
Health Samurai
Dualboot
ABBYY