JavaScript peut surprendre même en 2025. Il semblerait que nous ayons déjà tout pour travailler avec des tableaux : map, filter, find, reduce… Mais récemment, de nouvelles méthodes sont apparues — findLast() et findLastIndex(). Et ce n'est pas seulement un produit cosmétique, mais une véritable petite révolution.
Pourquoi avons-nous besoin de nouvelles méthodes ?
Jusqu'à récemment, si nous avions besoin de trouver dernier élément du tableau, satisfaisant la condition, il a fallu contourner :
Retourner le tableau par
reverse()et appliquerfind().Ou faire un cycle à partir de la fin.
Les inconvénients sont évidents :
reverse()le tableau est modifié - dangereux et non évident.Le cycle est lourd et pas dans l'esprit du JavaScript moderne.

Ce qui a changé
Maintenant, tout est plus simple :
findLast()recherche le dernier élément qui correspond à la condition.findLastIndex()renvoie l'index de cet élément.
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", actif: true}}
console.log(users.findLastIndex(user => user.active));
// 3
Pourquoi est-ce mieux que les vieux trucs ?
Le code se lit comme du texte — pas besoin de deviner l'intention.
Sécurité — il n'y a pas de mutation du tableau.
Vitesse — l'interpréteur commence par la fin et s'arrête à la première correspondance.
« Avant/après » : exemples
Tâche | C'était (avant) | Devenu (maintenant) |
|---|---|---|
Dernier utilisateur actif | | |
Index de la dernière erreur | | |
Dernier élément pair | | |

Questions fréquentes
Que remboursent-ils ?
findLast()— élément ouundefined.findLastIndex()— index ou-1.À propos de la productivité : parcourt le tableau une fois à partir de la fin, sans retour et sans copies.
TypeScript: les signatures sont similaires à
find/ __ CODE_BLOCK_21__, la transition est minimale.
Conclusion
findLast() et findLastIndex() sont un remplacement pratique des modèles de béquille avec reverse() et des boucles manuelles. Le code devient plus court, plus sûr et plus évident.
🙌 Nous discutons de toutes ces astuces et nouveautés dans notre confortable Chaîne Telegram, où nous partageons les nouvelles du monde du développement, analysons de nouveaux outils et plaisantons sur la vie des programmeurs. Rejoignez-nous, ce sera intéressant !
