Los arrays son fundamentales en el mundo de la programación y, en particular, en JavaScript. Nos permiten manipular y almacenar colecciones de datos de manera eficiente. En este artículo, exploraremos los métodos de arrays en JavaScript. Pero, ¿qué es un método?
En JavaScript, un método de array es una función integrada en el lenguaje que nos permite manipular, transformar e iterar arrays. Con estos métodos, es posible trabajar con arrays de manera más eficiente, permitiéndonos realizar diversas operaciones como agregar, remover, modificar y buscar elementos dentro de un array.
Antes de profundizar en los métodos más utilizados en JavaScript, es importante entender una distinción fundamental. Existen métodos estáticos y métodos de instancia.
Los métodos de instancia son aquellos que se aplican a instancias específicas de arrays. Es decir, deben existir arrays para invocar estos métodos. Estas funciones operan directamente sobre el array y pueden modificarlo o devolver nuevos valores basados en su contenido.
Una instancia en programación se refiere a un objeto concreto creado a partir de una clase o estructura. En el contexto de arrays, una instancia es un array particular que hemos definido en nuestro código.
A continuación, te dejo un ejemplo:
let numeros = [1, 2, 3, 4, 5];
let dobles = numeros.map(x => x * 2);
console.log(dobles); // [2, 4, 6, 8, 10]
En este ejemplo, utilizamos el método map()
. map()
opera sobre la instancia del array numeros
y aplica la función proporcionada a cada uno de sus elementos. Es importante destacar que map()
no es una función global; se invoca directamente sobre una instancia específica de un array.
Los métodos estáticos son invocados en la propia clase Array, no en instancias individuales de arrays. Estos métodos suelen utilizarse para realizar operaciones generales que no dependen de una instancia específica de un array.
Ejemplo:
let esArray = Array.isArray([1, 2, 3]);
console.log(esArray); // true
let arrayDesdeString = Array.from("hola");
console.log(arrayDesdeString); // ['h', 'o', 'l', 'a']
Array.isArray([1, 2, 3])
: Este método estático isArray
verifica si el valor proporcionado es un array. Retorna true
si el valor es un array y false
si no lo es.Array.from("hola")
: El método estático from
crea un nuevo array a partir de un objeto iterable o de un objeto similar a un array (como una cadena de caracteres). En este caso, "hola"
es una cadena de caracteres que es iterable, por lo que Array.from("hola")
crea un nuevo array con los caracteres individuales de la cadena, resultando en ['h', 'o', 'l', 'a']
.Ahora que entendemos qué es un método y que estos se dividen en métodos de instancia y estáticos, profundicemos en los métodos más ampliamente utilizados. Para facilitar su comprensión, los clasificaremos según su funcionalidad.
Agrega uno o más elementos al final del array y retorna la nueva longitud del array.
Aplicación: Este método es útil cuando se necesita agregar elementos a un array de forma dinámica, como agregar nuevos productos a un carrito de compras, registrar eventos de usuario, etc.
Ejemplo: Imaginemos que estamos creando una lista de tareas y queremos agregar nuevas tareas a esta lista:
// Definimos un array vacío para la lista de tareas
let listaDeTareas = [];
// Agregamos algunas tareas a la lista utilizando el método push
listaDeTareas.push("Estudiar para el examen");
listaDeTareas.push("Comprar víveres");
listaDeTareas.push("Limpiar la casa");
// Imprimimos la lista de tareas
console.log(listaDeTareas);
//Salida:
//["Estudiar para el examen", "Comprar víveres", "Limpiar la casa"]
En este ejemplo, listaDeTareas
es un array vacío inicialmente. Luego, utilizamos el método push
para agregar tres tareas a la lista. Al final, imprimimos la lista de tareas en la consola.
Agrega uno o más elementos al inicio del array y retorna la nueva longitud del array.
Aplicación: Esta funcionalidad es útil en diversas aplicaciones prácticas, como el manejo de listas o colas donde los elementos más nuevos deben ser procesados primero, en el seguimiento de historiales de navegación web para mantener las páginas más recientes al inicio, o en la implementación de estructuras de datos como colas doblemente terminadas (deques). También es útil en escenarios donde se necesita mantener un orden específico de llegada, como en el trazado de rutas o la gestión de flujos de trabajo.
Ejemplo: Imaginemos una aplicación simple que mantiene un historial de las últimas páginas visitadas:
// Definimos un array inicial vacío para el historial de navegación
let historialDeNavegacion = [];
// Función para agregar una página al historial
function visitarPagina(pagina) {
historialDeNavegacion.unshift(pagina);
// Limitar el historial a las últimas 5 páginas
if (historialDeNavegacion.length > 5) {
historialDeNavegacion.pop();
}
}
// Visitamos algunas páginas
visitarPagina("inicio.html");
visitarPagina("contacto.html");
visitarPagina("productos.html");
visitarPagina("nosotros.html");
visitarPagina("blog.html");
visitarPagina("ayuda.html");
// Imprimimos el historial de navegación
console.log(historialDeNavegacion);
//Salida:
//["ayuda.html", "blog.html", "nosotro...]
En este ejemplo, cada vez que se visita una nueva página, se agrega al inicio del historial. Si el historial supera las 5 páginas, eliminamos la página más antigua utilizando pop()
. Al final, el historial contendrá las últimas 5 páginas visitadas, con las más recientes al principio.
Remueve el último elemento del array y retorna este elemento.
Aplicación: Este método es útil en varias aplicaciones, como en la implementación de pilas (stack), donde el último elemento agregado es el primero en ser eliminado (LIFO - Last In, First Out ). También se puede utilizar en el manejo de listas donde se necesita procesar y eliminar elementos del final, como en una lista de tareas donde se eliminan las más recientes primero, o en la manipulación de datos donde se requieren acciones secuenciales desde el último al primer elemento. Además, pop()
es útil en la reducción gradual de elementos en algoritmos de procesamiento que necesitan iterar desde el final de un array.
Ejemplo: Imaginemos que tenemos una lista de tareas y queremos eliminar la última tarea completada.
// Definimos un array inicial con algunas tareas
let listaDeTareas = ["Estudiar para el examen", "Comprar víveres", "Limpiar la casa"];
// Imprimimos la lista de tareas antes de eliminar la última
console.log("Lista de tareas antes de eliminar la última:", listaDeTareas);
// Eliminamos la última tarea utilizando el método pop
let tareaCompletada = listaDeTareas.pop();
// Imprimimos la tarea eliminada
console.log("Tarea completada:", tareaCompletada);
// Imprimimos la lista de tareas después de eliminar la última
console.log("Lista de tareas después de eliminar la última:", listaDeTareas);
//Salida:
//Lista de tareas antes de eliminar la última:
// ["Estudiar para el examen", "Comprar...]
//Tarea completada:
//Limpiar la casa
//Lista de tareas después de eliminar la última:
//["Estudiar para el examen", "Comprar...]
En este ejemplo, listaDeTareas
es un array que inicialmente contiene ["Estudiar para el examen", "Comprar víveres", "Limpiar la casa"]. Al usar pop()
, eliminamos "Limpiar la casa", que es la última tarea en la lista. Luego, imprimimos la tarea eliminada y la lista actualizada.
Remueve el primer elemento del array y retorna este elemento.
Aplicación: Es útil en diversas aplicaciones prácticas, como en la implementación de colas (FIFO - First In, First Out ), donde el primer elemento agregado es el primero en ser eliminado. También se emplea en el manejo de listas de espera, donde se procesa y elimina el primer elemento en la fila. Además, shift()
es útil en algoritmos que requieren iterar y eliminar elementos desde el inicio de un array, como en la manipulación de datos o en tareas de procesamiento por lotes.
Ejemplo: Imaginemos que tenemos una lista de personas en una fila de espera y queremos atender a la primera persona en la fila.
// Definimos un array inicial con algunas personas en la fila de espera
let filaDeEspera = ["Juan", "María", "Carlos", "Ana"];
// Imprimimos la fila de espera antes de atender a la primera persona
console.log("Fila de espera antes de atender a la primera persona:", filaDeEspera);
// Atendemos a la primera persona utilizando el método shift
let personaAtendida = filaDeEspera.shift();
// Imprimimos la persona atendida
console.log("Persona atendida:", personaAtendida);
// Imprimimos la fila de espera después de atender a la primera persona
console.log("Fila de espera después de atender a la primera persona:", filaDeEspera);
//Salida:
//Fila de espera antes de atender a la primera persona:
//["Juan", "María", "Carlos", "Ana"]
//Persona atendida:
//Juan
//Fila de espera después de atender a la primera persona:
//["María", "Carlos", "Ana"]
En este ejemplo, filaDeEspera
es un array que inicialmente contiene ["Juan", "María", "Carlos", "Ana"]. Al usar shift()
, eliminamos "Juan", que es la primera persona en la fila. Luego, imprimimos la persona atendida y la fila de espera actualizada.
Altera el contenido de un array, removiendo elementos existentes y/o agregando nuevos elementos.
Aplicación: Es extremadamente versátil y se puede emplear en una variedad de aplicaciones prácticas, como en la modificación de listas donde se necesita insertar elementos en una posición específica, eliminar elementos de cualquier parte del array o reemplazar elementos existentes con nuevos valores. También es útil en algoritmos de procesamiento de datos que requieren manipulaciones complejas del array, como en la gestión de inventarios, la edición de secuencias de operaciones, o cualquier situación en la que se necesiten modificaciones controladas del contenido del array.
Ejemplo: Imaginemos que tenemos una lista de productos y queremos actualizarla: eliminar un producto específico, agregar uno nuevo y reemplazar otro.
// Definimos un array inicial con algunos productos
let listaDeProductos = ["Manzanas", "Naranjas", "Plátanos", "Uvas"];
// Imprimimos la lista de productos original
console.log("Lista de productos original:", listaDeProductos);
// Eliminamos "Naranjas" del array (índice 1)
listaDeProductos.splice(1, 1);
// Imprimimos la lista de productos después de eliminar "Naranjas"
console.log("Lista de productos después de eliminar 'Naranjas':", listaDeProductos);
// Agregamos "Peras" en la posición donde estaba "Naranjas" (índice 1)
listaDeProductos.splice(1, 0, "Peras");
// Imprimimos la lista de productos después de agregar "Peras"
console.log("Lista de productos después de agregar 'Peras':", listaDeProductos);
// Reemplazamos "Plátanos" con "Fresas" (índice 2)
listaDeProductos.splice(2, 1, "Fresas");
// Imprimimos la lista de productos después de reemplazar "Plátanos" con "Fresas"
console.log("Lista de productos después de reemplazar 'Plátanos' con 'Fresas':", listaDeProductos);
//Salida:
//Lista de productos original:
//["Manzanas", "Naranjas", "Plátanos",...]
//Lista de productos después de eliminar 'Naranjas':
//["Manzanas", "Plátanos", "Uvas"]
//Lista de productos después de agregar 'Peras':
//["Manzanas", "Peras", "Plátanos", "U...]
//Lista de productos después de reemplazar 'Plátanos' con 'Fresas':
//["Manzanas", "Peras", "Fresas", "Uva...]
En este ejemplo, listaDeProductos
es un array que inicialmente contiene ["Manzanas", "Naranjas", "Plátanos", "Uvas"]. Usamos splice()
para realizar las siguientes operaciones:
Después de cada operación, imprimimos el estado actualizado del array.
Retorna una copia de una parte del array en un nuevo array. Puedes especificar el índice de inicio y el índice de fin.
Aplicación: Es útil en diversas aplicaciones prácticas, como cuando se necesita trabajar con una sublista de elementos sin alterar la lista original, en la paginación de resultados donde se extraen porciones específicas de datos, o al clonar arrays para evitar efectos secundarios al modificar datos. También se emplea en la manipulación de listas donde se requiere obtener segmentos de datos para su procesamiento o análisis.
Ejemplo: Imaginemos que tenemos una lista de estudiantes y queremos obtener una sublista de los primeros tres estudiantes para un grupo de estudio.
// Definimos un array inicial con algunos nombres de estudiantes
let listaDeEstudiantes = ["Juan", "María", "Carlos", "Ana", "Luis", "Sofía"];
// Imprimimos la lista completa de estudiantes
console.log("Lista completa de estudiantes:", listaDeEstudiantes);
// Utilizamos el método slice para obtener los primeros tres estudiantes
let grupoDeEstudio = listaDeEstudiantes.slice(0, 3);
// Imprimimos la sublista de estudiantes para el grupo de estudio
console.log("Sublista de estudiantes para el grupo de estudio:", grupoDeEstudio);
// Verificamos que la lista original no ha cambiado
console.log("Lista completa de estudiantes después de slice:", listaDeEstudiantes);
//Salida
//Lista completa de estudiantes:
//["Juan", "María", "Carlos", "Ana", "...]
//Sublista de estudiantes para el grupo de estudio:
//["Juan", "María", "Carlos"]
//Lista completa de estudiantes después de slice:
//["Juan", "María", "Carlos", "Ana", "...]
En este ejemplo, listaDeEstudiantes
es un array que inicialmente contiene ["Juan", "María", "Carlos", "Ana", "Luis", "Sofía"]. Usamos slice(0, 3)
para extraer los primeros tres elementos del array, creando una nueva sublista grupoDeEstudio
que contiene ["Juan", "María", "Carlos"]. Finalmente, verificamos que la lista original no ha sido modificada.
Retorna un nuevo array que es la unión de dos o más arrays.
Aplicación: Es útil en aplicaciones donde se necesita combinar múltiples listas de elementos en una sola, como en la fusión de datos de diferentes fuentes, la concatenación de resultados paginados, o la construcción de listas compuestas de elementos relacionados. También se emplea en situaciones donde se requiere agregar elementos adicionales a un array existente sin modificar el array original.
Ejemplo: Imaginemos que tenemos dos listas de frutas y queremos combinarlas en una sola lista.
// Definimos dos arrays iniciales con diferentes frutas
let frutasTropicales = ["Mango", "Papaya", "Piña"];
let frutasCitrus = ["Naranja", "Limón", "Toronja"];
// Imprimimos las listas originales de frutas
console.log("Frutas tropicales:", frutasTropicales);
console.log("Frutas cítricas:", frutasCitrus);
// Utilizamos el método concat para combinar las dos listas en una sola
let todasLasFrutas = frutasTropicales.concat(frutasCitrus);
// Imprimimos la lista combinada de frutas
console.log("Todas las frutas:", todasLasFrutas);
// Verificamos que las listas originales no han cambiado
console.log("Frutas tropicales después de concat:", frutasTropicales);
console.log("Frutas cítricas después de concat:", frutasCitrus);
//Salida:
//Frutas tropicales:
//["Mango", "Papaya", "Piña"]
//Frutas cítricas:
//["Naranja", "Limón", "Toronja"]
//Todas las frutas:
//["Mango", "Papaya", "Piña", "Naranja...]
//Frutas tropicales después de concat:
//["Mango", "Papaya", "Piña"]
//Frutas cítricas después de concat:
//["Naranja", "Limón", "Toronja"]
En este ejemplo, frutasTropicales
es un array que contiene ["Mango", "Papaya", "Piña"] y frutasCitrus
es un array que contiene ["Naranja", "Limón", "Toronja"]. Usamos concat()
para combinar ambos arrays en uno nuevo llamado todasLasFrutas
, que contiene ["Mango", "Papaya", "Piña", "Naranja", "Limón", "Toronja"]. Finalmente, verificamos que los arrays originales no han sido modificados.
Ejecuta una función proporcionada una vez para cada elemento del array.
Apliccación: Es útil en una variedad de aplicaciones, como en el procesamiento de datos, donde se necesita realizar operaciones en cada elemento de una lista, en la generación de informes o visualizaciones, y en la manipulación de arrays sin crear nuevos arrays. También se emplea para recorrer listas y aplicar transformaciones, realizar cálculos acumulativos o interactuar con cada elemento para tareas de logging, validación o actualización de UI.
Ejemplo: Imaginemos que tenemos una lista de números y queremos calcular la suma de todos los números en la lista.
// Definimos un array inicial con algunos números
let numeros = [1, 2, 3, 4, 5];
// Inicializamos una variable para almacenar la suma
let suma = 0;
// Utilizamos el método forEach para sumar cada número en el array
numeros.forEach(function(numero) {
suma += numero;
});
// Imprimimos la suma de los números
console.log("La suma de los números es:", suma);
//Salida:
//La suma de los números es:
//15
En este ejemplo, numeros
es un array que contiene [1, 2, 3, 4, 5]. Usamos forEach()
para recorrer cada elemento del array y sumar su valor a la variable suma
. La función anónima dentro de forEach()
recibe cada elemento del array y lo añade a suma
. Finalmente, imprimimos el resultado de la suma.
Crea un nuevo array con los resultados de la llamada a una función proporcionada para cada elemento del array.
Aplicación: Es útil en aplicaciones que requieren la transformación de datos, como cambiar el formato de datos, realizar cálculos o extracciones, y generar nuevas estructuras de datos basadas en las existentes. También se emplea en situaciones donde se necesita un array modificado sin alterar el original, como en la creación de listas de elementos renderizables en interfaces de usuario, o en la manipulación de datos para análisis y procesamiento posterior.
Ejemplo: Imaginemos que tenemos una lista de precios en dólares y queremos convertirlos a euros usando una tasa de conversión.
// Definimos un array inicial con algunos precios en dólares
let preciosEnDolares = [10, 20, 30, 40, 50];
// Definimos una tasa de conversión de dólares a euros
const tasaDeConversion = 0.85;
// Utilizamos el método map para convertir cada precio a euros
let preciosEnEuros = preciosEnDolares.map(function(precio) {
return precio * tasaDeConversion;
});
// Imprimimos la lista original de precios en dólares
console.log("Precios en dólares:", preciosEnDolares);
// Imprimimos la nueva lista de precios en euros
console.log("Precios en euros:", preciosEnEuros);
//Salida:
//Precios en dólares:
//[10, 20, 30, 40, 50]
//Precios en euros:
//[8.5, 17, 25.5, 34, 42.5]
En este ejemplo, preciosEnDolares
es un array que contiene [10, 20, 30, 40, 50]. Usamos map()
para recorrer cada elemento del array y aplicar la tasa de conversión, creando un nuevo array preciosEnEuros
que contiene los precios convertidos. La función anónima dentro de map()
recibe cada elemento del array, lo multiplica por tasaDeConversion
y devuelve el resultado. Finalmente, imprimimos ambas listas.
Ejecuta una función reductora sobre cada elemento de un array, resultando en un único valor.
Aplicación: Es útil en aplicaciones que requieren operaciones acumulativas como sumas, productos, o la combinación de elementos en un solo resultado. También se emplea para transformar arrays en estructuras de datos más complejas, calcular estadísticas agregadas, o realizar operaciones encadenadas sobre elementos de un array.
Ejemplo: Imaginemos que tenemos una lista de números y queremos calcular la suma de todos los números en la lista.
// Definimos un array inicial con algunos números
let numeros = [1, 2, 3, 4, 5];
// Utilizamos el método reduce para sumar todos los números en el array
let suma = numeros.reduce(function(acumulador, numero) {
return acumulador + numero;
}, 0);
// Imprimimos la suma de los números
console.log("La suma de los números es:", suma);
//Salida:
//La suma de los números es:
//15
En este ejemplo, numeros
es un array que contiene [1, 2, 3, 4, 5]. Usamos reduce()
para recorrer cada elemento del array y acumular la suma de sus valores. La función anónima dentro de reduce()
recibe dos parámetros: acumulador
y numero
. El acumulador
guarda el valor acumulado de la operación y numero
es el valor actual del array. Empezamos con un valor inicial de 0 para el acumulador. Finalmente, imprimimos el resultado de la suma.
Retorna el primer elemento que cumple con la condición especificada en una función de prueba.
Aplicación: Es útil en aplicaciones que requieren la búsqueda de un elemento específico dentro de una lista, como encontrar un objeto con una propiedad particular, localizar el primer valor que cumple una condición, o buscar elementos en base a criterios dinámicos. También se emplea para implementar funcionalidades de búsqueda y filtrado en interfaces de usuario y sistemas de gestión de datos.
Ejemplo: Imaginemos que tenemos una lista de objetos que representan productos y queremos encontrar el primer producto que tenga un precio mayor a 20.
// Definimos un array inicial con algunos objetos de productos
let productos = [
{ nombre: "Producto A", precio: 10 },
{ nombre: "Producto B", precio: 25 },
{ nombre: "Producto C", precio: 30 },
{ nombre: "Producto D", precio: 15 }
];
// Utilizamos el método find para encontrar el primer producto con precio mayor a 20
let productoEncontrado = productos.find(function(producto) {
return producto.precio > 20;
});
// Imprimimos el producto encontrado
console.log("Producto encontrado:", productoEncontrado);
//Salida:
//Producto encontrado:
//{nombre: "Producto B", precio: 25}
En este ejemplo, productos
es un array que contiene objetos con propiedades nombre
y precio
. Usamos find()
para recorrer cada objeto del array y encontrar el primer producto cuyo precio
sea mayor a 20. La función anónima dentro de find()
recibe cada objeto producto
y devuelve true
cuando encuentra un producto que cumple con la condición. Finalmente, imprimimos el producto encontrado.
Crea un nuevo array con todos los elementos que cumplan con la condición especificada en una función de prueba.
Aplicación: Es útil en aplicaciones que requieren la extracción de subconjuntos de datos que cumplen con ciertos criterios, como filtrar productos por precio, seleccionar elementos activos en una lista, o buscar registros que cumplan con condiciones específicas. También se emplea en la limpieza de datos, la implementación de funcionalidades de búsqueda avanzada y la creación de vistas filtradas en interfaces de usuario.
Ejemplo: Imaginemos que tenemos una lista de estudiantes y queremos obtener una lista de los estudiantes que han aprobado (nota mayor o igual a 60).
// Definimos un array inicial con algunos objetos de estudiantes
let estudiantes = [
{ nombre: "Juan", nota: 58 },
{ nombre: "María", nota: 92 },
{ nombre: "Carlos", nota: 70 },
{ nombre: "Ana", nota: 45 },
{ nombre: "Luis", nota: 80 }
];
// Utilizamos el método filter para obtener los estudiantes que han aprobado
let estudiantesAprobados = estudiantes.filter(function(estudiante) {
return estudiante.nota >= 60;
});
// Imprimimos la lista original de estudiantes
console.log("Lista original de estudiantes:", estudiantes);
// Imprimimos la lista de estudiantes que han aprobado
console.log("Estudiantes que han aprobado:", estudiantesAprobados);
//Salida:
//Lista original de estudiantes: [
//{ nombre: "Juan", nota: 58 },
//{ nombre: "María", nota: 92 },
//{ nombre: "Carlos", nota: 70 },
//{ nombre: "Ana", nota: 45 },
//{ nombre: "Luis", nota: 80 }
//]
//Estudiantes que han aprobado: [
//{ nombre: "María", nota: 92 },
//{ nombre: "Carlos", nota: 70 },
//{ nombre: "Luis", nota: 80 }
//]
En este ejemplo, estudiantes
es un array que contiene objetos con propiedades nombre
y nota
. Usamos filter()
para recorrer cada objeto del array y crear un nuevo array estudiantesAprobados
que contiene solo los estudiantes cuya nota
es mayor o igual a 60. La función anónima dentro de filter()
recibe cada objeto estudiante
y devuelve true
cuando el estudiante ha aprobado. Finalmente, imprimimos ambas listas.
Ordena los elementos de un array localmente y retorna el array ordenado.
Aplicación: Es útil en aplicaciones que requieren la clasificación de datos, como ordenar listas de nombres alfabéticamente, organizar números en orden ascendente o descendente, o clasificar objetos en base a alguna de sus propiedades. También se emplea en la preparación de datos para visualización, la implementación de algoritmos de búsqueda y clasificación, y en la organización de elementos en interfaces de usuario.
Ejemplo: Imaginemos que tenemos una lista de productos con precios y queremos ordenarlos de menor a mayor precio.
// Definimos un array inicial con algunos objetos de productos
let productos = [
{ nombre: "Producto A", precio: 30 },
{ nombre: "Producto B", precio: 10 },
{ nombre: "Producto C", precio: 20 },
{ nombre: "Producto D", precio: 40 }
];
// Utilizamos el método sort para ordenar los productos por precio de menor a mayor
productos.sort(function(a, b) {
return a.precio - b.precio;
});
// Imprimimos la lista de productos ordenada por precio
console.log("Productos ordenados por precio (menor a mayor):", productos);
//Salida:
//Productos ordenados por precio (menor a mayor): [
//{ nombre: "Producto B", precio: 10 },
//{ nombre: "Producto C", precio: 20 },
//{ nombre: "Producto A", precio: 30 },
//{ nombre: "Producto D", precio: 40 }
//]
En este ejemplo, productos
es un array que contiene objetos con propiedades nombre
y precio
. Usamos sort()
para ordenar estos objetos en base a su precio
. La función de comparación dentro de sort()
recibe dos objetos, a
y b
, y devuelve la diferencia entre sus precios (a.precio - b.precio
). Esto hace que el array se ordene en orden ascendente según el precio. Finalmente, imprimimos la lista de productos ordenada.
Invertir el orden de los elementos de un array en su lugar, modificando el array original.
Aplicación: Es útil en aplicaciones que requieren la reversión de listas de datos para presentación inversa, como en la visualización de registros en orden cronológico inverso, la inversión de secuencias de operaciones, o la manipulación de listas para procesamiento inverso. También se emplea en situaciones donde se necesita invertir el orden de elementos para implementar funcionalidades de navegación o en la preparación de datos para análisis y presentación.
Ejemplo: Imaginemos que tenemos una lista de nombres y queremos invertir su orden para una presentación inversa.
// Definimos un array inicial con algunos nombres
let nombres = ["Juan", "María", "Carlos", "Ana"];
// Utilizamos el método reverse para invertir el orden de los nombres
nombres.reverse();
// Imprimimos la lista de nombres invertida
console.log("Nombres en orden inverso:", nombres);
//Salida:
//Nombres en orden inverso:
//["Ana", "Carlos", "María", "Juan"]
En este ejemplo, nombres
es un array que contiene ["Juan", "María", "Carlos", "Ana"]. Usamos reverse()
para invertir el orden de los elementos en el array, de manera que ahora nombres
contiene ["Ana", "Carlos", "María", "Juan"]. Este método modifica el array original y no devuelve un nuevo array. Finalmente, imprimimos la lista de nombres invertida.
Determina si un array incluye un determinado elemento, retornando true
o false
según corresponda.
Aplicación: Es útil en aplicaciones que requieren verificar la presencia de un valor dentro de una lista, como en la validación de entradas de usuario, la búsqueda de elementos específicos en colecciones de datos, o la implementación de lógica condicional basada en la existencia de ciertos elementos. También se emplea en la gestión de estados y en la interacción con datos dinámicos donde es crucial detectar la presencia o ausencia de elementos.
Ejemplo: Imaginemos que tenemos una lista de ingredientes y queremos verificar si un ingrediente específico está presente.
// Definimos un array inicial con algunos ingredientes
let ingredientes = ["Harina", "Azúcar", "Sal", "Levadura", "Aceite"];
// Definimos un ingrediente que queremos verificar si está presente
let ingredienteBuscado = "Sal";
// Utilizamos el método includes para verificar si el ingrediente está presente
let estaPresente = ingredientes.includes(ingredienteBuscado);
// Imprimimos el resultado de la verificación
if (estaPresente) {
console.log(`El ingrediente "${ingredienteBuscado}" está presente en la lista.`);
} else {
console.log(`El ingrediente "${ingredienteBuscado}" no está presente en la lista.`);
}
//Salida:
//El ingrediente "Sal" está presente en la lista.
En este ejemplo, ingredientes
es un array que contiene ["Harina", "Azúcar", "Sal", "Levadura", "Aceite"]. Usamos includes()
para verificar si el ingrediente "Sal"
está presente en el array. La función devuelve true
si el ingrediente está presente y false
si no lo está. Finalmente, imprimimos un mensaje indicando si el ingrediente buscado está presente o no
Retorna la primera/última posición en la que se encuentra un elemento en el array, respectivamente. Ambos métodos devuelven el índice del elemento encontrado o -1
si el elemento no está presente.
Aplicación: Son útiles en aplicaciones que requieren la búsqueda de elementos específicos en una lista, como la validación de existencia de datos, la gestión de selecciones de usuarios, o la manipulación de datos para operaciones de actualización o eliminación. También se emplean en la implementación de algoritmos de búsqueda y en la interacción con colecciones de datos dinámicas.
Ejemplo: Imaginemos que tenemos una lista de nombres y queremos encontrar la posición de la primera y última ocurrencia de un nombre específico
// Definimos un array inicial con algunos nombres
let nombres = ["Juan", "María", "Carlos", "Ana", "Juan", "Luis", "María"];
// Definimos el nombre que queremos buscar
let nombreBuscado = "María";
// Utilizamos el método indexOf para encontrar la primera ocurrencia del nombre
let primeraOcurrencia = nombres.indexOf(nombreBuscado);
// Utilizamos el método lastIndexOf para encontrar la última ocurrencia del nombre
let ultimaOcurrencia = nombres.lastIndexOf(nombreBuscado);
// Imprimimos los resultados de las búsquedas
console.log(`Primera ocurrencia de "${nombreBuscado}" en el índice ${primeraOcurrencia}`);
console.log(`Última ocurrencia de "${nombreBuscado}" en el índice ${ultimaOcurrencia}`);
//Salida:
//Primera ocurrencia de "María" en el índice 1
//Última ocurrencia de "María" en el índice 6
En este ejemplo, nombres
es un array que contiene ["Juan", "María", "Carlos", "Ana", "Juan", "Luis", "María"]. Usamos indexOf()
para encontrar la primera ocurrencia de "María"
en el array, que está en el índice 1
. Luego, usamos lastIndexOf()
para encontrar la última ocurrencia de "María"
, que está en el índice 6
. Ambos métodos nos permiten buscar la posición de un elemento específico dentro de un array y manejar su presencia en la colección de datos.
En JavaScript, los arrays son herramientas fundamentales para almacenar y manipular colecciones de datos. Los métodos de arrays proporcionan funcionalidades poderosas que permiten agregar, remover, transformar y buscar elementos de manera eficiente. Estos métodos se dividen en dos categorías principales: métodos de instancia, que operan en instancias específicas de arrays, y métodos estáticos, que son invocados directamente desde la clase Array.
Al comprender y dominar estos métodos,tu puede escribir código más limpio, eficiente y legible, optimizando así el manejo de datos en tus proyectos JavaScript. Además, la capacidad de combinar y encadenar estos métodos proporciona flexibilidad y poder para resolver una amplia gama de problemas de programación. Si quieres aprender más sobre métos de arrays, te recomiendo nuestro curso.
es estudiante de Ciencias de la Computación en el Instituto Federal de Brasilia - IFB y se está especializando en el campo de Ciencia de Datos. Además, es miembro del Scuba Team en Alura Latam, donde se enfoca en programación. Su pasión por el conocimiento tecnológico es insaciable, ya que encuentra fascinantes todas las áreas que lo componen.
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
68314.51
CLP |
305385.67
COP |
65.90
USD |
265.11
PEN |
1424.44
MXN |
2977.87
UYU |
Plan Anual |
738.82
BOB |
103560.24
CLP |
462944.29
COP |
99.90
USD |
401.89
PEN |
2159.35
MXN |
4514.26
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana