Artículo de consulta · Programación
JavaScript: arrays, objetos y transformación de datos
Una lista de artículos necesita conservar varios registros. Un array representa la colección ordenada; cada objeto puede agrupar las propiedades de un artículo, como su nombre y disponibilidad. Esta combinación aparece en catálogos, respuestas de APIs y tablas.
Listas y propiedades
Los índices de un array empiezan en cero: items[0] es el primer elemento. length indica su longitud. Un objeto agrupa propiedades con nombre; puedes leerlas con objeto.nombre o con corchetes. Acceder a una propiedad inexistente devuelve undefined.
const items = [
{ nombre: "HTML", disponible: true },
{ nombre: "CSS", disponible: false },
{ nombre: "JavaScript", disponible: true },
];
console.log(items[0].nombre); // HTMLFiltrar, transformar y buscar
filter crea un array con los elementos que cumplen una condición. map crea un array con el resultado de transformar cada elemento. find devuelve la primera coincidencia, o undefined si no encuentra ninguna. Cada método recibe una función que describe la operación.
const disponibles = items.filter((item) => item.disponible); const nombres = disponibles.map((item) => item.nombre); const css = items.find((item) => item.nombre === "CSS"); console.log(nombres); // ["HTML", "JavaScript"] console.log(css?.disponible); // false
Cambiar datos y compartir referencias
const impide reasignar la variable, pero no vuelve inmutable un objeto ni un array. push modifica el array original. filter y map producen arrays nuevos, aunque los objetos que contienen pueden seguir compartiendo referencias con los originales.
Copias superficiales
La sintaxis {...objeto} copia sus propiedades a otro objeto, pero no duplica recursivamente los objetos anidados. En este ejemplo, el artículo editado es un objeto nuevo y el registro original conserva su nombre.
const editado = { ...items[0], nombre: "HTML básico" };
console.log(editado.nombre); // HTML básico
console.log(items[0].nombre); // HTMLCasos que conviene probar
- Filtra una lista vacía: el resultado debe ser otro array vacío.
- Busca un nombre que no existe y comprueba el resultado antes de leer sus propiedades.
- Añade un cuarto registro y predice qué nombres devolverá el filtro.
Referencias
Artículos relacionados
- Fundamentos: variables, condiciones y bucles
- HTML semántico y estructura de una página
- CSS: modelo de caja, Flexbox y Grid
- JavaScript: funciones, parámetros y alcance
- DOM y eventos: conectar JavaScript con HTML
- Promesas, async/await y peticiones con fetch
- HTTP y APIs web: peticiones, respuestas y estados
- JSON: formato, lectura y validación de datos
- Git: cambios, commits, ramas y repositorios remotos
- Node.js y npm: scripts y dependencias de un proyecto
- Depuración y pruebas: encontrar y comprobar errores
- Formatos de color: HEX, RGB y HSL
- Identificadores UUID
- Valores aleatorios en JavaScript
