JavaScript puede sorprender incluso en 2025. Parece que ya tenemos todo para trabajar con matrices: map, filter, find, reduce... Pero recientemente han aparecido nuevos métodos: findLast() y findLastIndex(). Y no son solo cosméticos, sino una verdadera pequeña revolución.
¿Por qué necesitamos nuevos métodos?
Hasta hace poco, si necesitábamos encontrar último elemento de la matriz, que cumplía la condición, había que evitar:
Voltea la matriz a través de
reverse()y aplicafind().O ir por el ciclo desde el final.
Las desventajas son obvias:
reverse()muta la matriz, lo que es peligroso y poco obvio.El ciclo es engorroso y no está en el espíritu del JavaScript moderno.

¿Qué ha cambiado?
Ahora todo es más fácil:
findLast()busca el último elemento que coincida con la condición.findLastIndex()devuelve el índice de este elemento.
const users = [
{ name: "Anya", active: false },
{ name: "Boris", active: true },
{ name: "Vika", active: false },
{ name: "Gosha", active: true }
];
console.log(users.findLast(user => user.active));
// { name: "Gosha", active: true }}
console.log(users.findLastIndex(user => user.active));
// 3
¿Por qué es mejor que los trucos antiguos?
El código se lee como texto — no es necesario adivinar la intención.
Seguridad — no hay mutaciones en la matriz.
Velocidad — el intérprete va desde el final y se detiene en la primera coincidencia.
«Antes/después»: ejemplos
Tarea | Antes | Ahora |
|---|---|---|
Último usuario activo | | |
Índice del último error | | |
Último elemento par | | |

Preguntas frecuentes
¿Qué se devuelve?
findLast()— elemento oundefined.findLastIndex()— índice o-1.Sobre el rendimiento: pasa la matriz una vez desde el final, sin dar la vuelta ni copiar.
TypeScript: las firmas son similares a
find/findIndex, la transición es mínima.
Conclusión
findLast() y findLastIndex() son un reemplazo práctico para los patrones de muletas con reverse() y bucles manuales. El código se vuelve más corto, más seguro y más obvio.
🙌 Discutimos todos estos trucos y novedades en nuestro acogedor Canal de Telegram, donde compartimos noticias del mundo del desarrollo, analizamos nuevas herramientas y bromeamos sobre la vida de los programadores. ¡Únete, será interesante!
