Introducción
Los arrays son una estructura de datos fundamental en JavaScript que permite almacenar múltiples valores en una sola variable. A diferencia de las variables simples que pueden contener un solo valor, los arrays pueden contener una colección de valores, que pueden ser de cualquier tipo de datos, incluidos otros arrays.
Conceptos Básicos
Definición de un Array
En JavaScript, un array se define utilizando corchetes []
y los elementos se separan por comas.
// Definición de un array vacío let miArray = []; // Definición de un array con elementos let numeros = [1, 2, 3, 4, 5]; let frutas = ["manzana", "banana", "cereza"]; let mixto = [1, "dos", true, null];
Acceso a Elementos de un Array
Los elementos de un array se acceden mediante índices, que comienzan en 0.
let frutas = ["manzana", "banana", "cereza"]; console.log(frutas[0]); // "manzana" console.log(frutas[1]); // "banana" console.log(frutas[2]); // "cereza"
Modificación de Elementos
Puedes modificar los elementos de un array asignando un nuevo valor a un índice específico.
let frutas = ["manzana", "banana", "cereza"]; frutas[1] = "naranja"; console.log(frutas); // ["manzana", "naranja", "cereza"]
Longitud de un Array
La propiedad length
de un array devuelve el número de elementos en el array.
Métodos Comunes de Arrays
push() y pop()
push()
: Añade uno o más elementos al final de un array y devuelve la nueva longitud del array.pop()
: Elimina el último elemento de un array y lo devuelve.
let frutas = ["manzana", "banana"]; frutas.push("cereza"); console.log(frutas); // ["manzana", "banana", "cereza"] let ultimaFruta = frutas.pop(); console.log(ultimaFruta); // "cereza" console.log(frutas); // ["manzana", "banana"]
shift() y unshift()
shift()
: Elimina el primer elemento de un array y lo devuelve.unshift()
: Añade uno o más elementos al inicio de un array y devuelve la nueva longitud del array.
let frutas = ["manzana", "banana"]; let primeraFruta = frutas.shift(); console.log(primeraFruta); // "manzana" console.log(frutas); // ["banana"] frutas.unshift("cereza"); console.log(frutas); // ["cereza", "banana"]
indexOf() y includes()
indexOf()
: Devuelve el primer índice en el que un elemento dado se puede encontrar en el array, o -1 si el elemento no está presente.includes()
: Determina si un array contiene un elemento específico, devuelvetrue
ofalse
.
let frutas = ["manzana", "banana", "cereza"]; console.log(frutas.indexOf("banana")); // 1 console.log(frutas.indexOf("naranja")); // -1 console.log(frutas.includes("cereza")); // true console.log(frutas.includes("naranja")); // false
slice() y splice()
slice()
: Devuelve una copia superficial de una porción del array dentro de un nuevo array.splice()
: Cambia el contenido de un array eliminando, reemplazando o añadiendo nuevos elementos.
let frutas = ["manzana", "banana", "cereza", "naranja"]; // slice let algunasFrutas = frutas.slice(1, 3); console.log(algunasFrutas); // ["banana", "cereza"] // splice frutas.splice(2, 1, "kiwi"); console.log(frutas); // ["manzana", "banana", "kiwi", "naranja"]
join() y split()
join()
: Une todos los elementos de un array en una cadena y devuelve esta cadena.split()
: Divide un objeto de tipo String en un array de cadenas mediante la separación de la cadena en subcadenas.
let frutas = ["manzana", "banana", "cereza"]; let cadenaFrutas = frutas.join(", "); console.log(cadenaFrutas); // "manzana, banana, cereza" let nuevaFrutas = cadenaFrutas.split(", "); console.log(nuevaFrutas); // ["manzana", "banana", "cereza"]
Ejercicios Prácticos
Ejercicio 1: Manipulación Básica de Arrays
- Crea un array llamado
colores
que contenga los siguientes elementos: "rojo", "verde", "azul". - Añade el color "amarillo" al final del array.
- Elimina el primer elemento del array.
- Añade el color "naranja" al inicio del array.
- Usa
indexOf
para encontrar la posición del color "azul".
let colores = ["rojo", "verde", "azul"]; colores.push("amarillo"); colores.shift(); colores.unshift("naranja"); let posicionAzul = colores.indexOf("azul"); console.log(colores); // ["naranja", "verde", "azul", "amarillo"] console.log(posicionAzul); // 2
Ejercicio 2: Uso de Métodos de Arrays
- Crea un array llamado
numeros
con los números del 1 al 5. - Usa
slice
para crear un nuevo array que contenga los números del 2 al 4. - Usa
splice
para eliminar el número 3 del array original y reemplazarlo por el número 6. - Usa
join
para convertir el array en una cadena de texto separada por guiones.
let numeros = [1, 2, 3, 4, 5]; let subNumeros = numeros.slice(1, 4); numeros.splice(2, 1, 6); let cadenaNumeros = numeros.join("-"); console.log(subNumeros); // [2, 3, 4] console.log(numeros); // [1, 2, 6, 4, 5] console.log(cadenaNumeros); // "1-2-6-4-5"
Conclusión
En esta sección, hemos cubierto los conceptos básicos de los arrays en JavaScript, incluyendo cómo definir, acceder y modificar elementos, así como varios métodos útiles para manipular arrays. Los arrays son una herramienta poderosa y versátil que te permitirá manejar colecciones de datos de manera eficiente. Asegúrate de practicar con los ejercicios proporcionados para consolidar tu comprensión antes de pasar al siguiente tema.
JavaScript: De Principiante a Avanzado
Módulo 1: Introducción a JavaScript
- ¿Qué es JavaScript?
- Configuración de tu Entorno de Desarrollo
- Tu Primer Programa en JavaScript
- Sintaxis y Conceptos Básicos de JavaScript
- Variables y Tipos de Datos
- Operadores Básicos
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for, while, do-while
- Sentencias Switch
- Manejo de Errores con try-catch
Módulo 3: Funciones
- Definición y Llamada de Funciones
- Expresiones de Función y Funciones Flecha
- Parámetros y Valores de Retorno
- Ámbito y Closures
- Funciones de Orden Superior
Módulo 4: Objetos y Arrays
- Introducción a los Objetos
- Métodos de Objeto y la Palabra Clave 'this'
- Arrays: Conceptos Básicos y Métodos
- Iteración sobre Arrays
- Desestructuración de Arrays
Módulo 5: Objetos y Funciones Avanzadas
- Prototipos y Herencia
- Clases y Programación Orientada a Objetos
- Módulos e Importación/Exportación
- JavaScript Asíncrono: Callbacks
- Promesas y Async/Await
Módulo 6: El Modelo de Objetos del Documento (DOM)
- Introducción al DOM
- Selección y Manipulación de Elementos del DOM
- Manejo de Eventos
- Creación y Eliminación de Elementos del DOM
- Manejo y Validación de Formularios
Módulo 7: APIs del Navegador y Temas Avanzados
- Almacenamiento Local y de Sesión
- Fetch API y AJAX
- WebSockets
- Service Workers y Aplicaciones Web Progresivas (PWAs)
- Introducción a WebAssembly
Módulo 8: Pruebas y Depuración
- Depuración de JavaScript
- Pruebas Unitarias con Jest
- Pruebas de Integración
- Pruebas de Extremo a Extremo con Cypress
Módulo 9: Rendimiento y Optimización
- Optimización del Rendimiento de JavaScript
- Gestión de Memoria
- Manipulación Eficiente del DOM
- Carga Perezosa y División de Código
Módulo 10: Frameworks y Librerías de JavaScript
- Introducción a React
- Gestión de Estado con Redux
- Conceptos Básicos de Vue.js
- Conceptos Básicos de Angular
- Elegir el Framework Adecuado