JavaScript de Cero a Experto / Arrays
some, every, includes, sort e inmutabilidad
Cerramos el arsenal de arrays con los métodos que PREGUNTAN (some,
every, includes) y el que ORDENA (sort) —con su trampa clásica— y una
idea que define el JavaScript moderno: la INMUTABILIDAD, con toSorted y
toReversed, las versiones que ordenan sin destruir tu lista original.
Preguntas sobre la lista: some, every, includes
some (¿alguno?), every (¿todos?) e includes (¿está este valor?)
devuelven un boolean, ideales para decisiones: "¿hay algún gasto sospechoso?"
(some), "¿todos los campos están llenos?" (every), "¿la lista contiene
este ID?" (includes).
sort y su trampa con números
sort ordena... pero por defecto ordena como TEXTO, lo que rompe los
números:
Dos cosas cruciales de sort: por defecto ordena como TEXTO ("100"
antes que "9"), así que para números SIEMPRE pásale la función `(a, b) => a
- b
(ascendente) o(a, b) => b - a(descendente). Y **sortMUTA el original** (lo reordena en su lugar) — por eso arriba usamos[...nums]para sortear una COPIA (los...` copian el array; lo verás a fondo en el módulo 5).
Inmutabilidad: toSorted y toReversed
Ordenas const precios = [100, 25, 9] con precios.sort() (sin función). ¿Qué obtienes y por qué?
Mini-reto
En "Mi Bolsillo": con un array de gastos, responde con booleanos: ¿hay algún
gasto mayor a tu límite? (some), ¿todos son positivos? (every), ¿gastaste
exactamente 18000 alguna vez? (includes). Luego crea una versión ORDENADA
de mayor a menor con toSorted((a, b) => b - a) y confirma que el array
original sigue en su orden. Elegir inmutable por defecto es un hábito
profesional que empiezas hoy.
Qué sigue
Módulo 4 cerrado: dominas los arrays y su arsenal de métodos —el pan de cada día de JavaScript—. El reto del módulo los junta todos en un mini-programa de análisis de gastos de "Mi Bolsillo": filtrar, transformar, acumular y ordenar datos reales. Tu primer programa que "analiza" una colección.