{}const=>[]async()letfn</>var
Développement

findLast() et findLastIndex() — une petite révolution dans les tableaux

Nous montrons avec des exemples réels pourquoi les nouvelles méthodes de tableau remplacent les anciennes béquilles avec reverse(). Bref, clair et sans mutations.

К

Kodik

Auteur

3 min de lecture

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 appliquer find().

  • 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.

🔥 100 000+ étudiants déjà avec nous

Marre de lire la théorie ?
Il est temps de coder !

Kodik — une appli où tu apprends à coder par la pratique. Mentor IA, leçons interactives, projets réels.

🤖 IA 24/7
🎓 Certificats
💰 Gratuit
🚀 Commencer
Ont rejoint aujourd'hui

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


const lastActive = users
  .slice()
  .reverse()
  .find(u => u.active);
          

const lastActive = users.findLast(u => u.active);
          

Index de la dernière erreur


const i = logs.length - 1 - logs
  .slice()
  .reverse()
  .findIndex(e => e.level === "error");
          

const i = logs.findLastIndex(e => e.level === "error");
          

Dernier élément pair


let last;
for (let i = arr.length - 1; i >= 0; i--) {
  if (arr[i] % 2 === 0) { last = arr[i]; break; }
}
          

const last = arr.findLast(n => n % 2 === 0);
          

Questions fréquentes

  • Que remboursent-ils ? findLast() — élément ou undefined. 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 !

🎯Arrête de reporter

Tu as aimé l'article ?
Place à la pratique !

Avec Kodik, tu ne lis pas seulement — tu codes immédiatement. Théorie + pratique = vraies compétences.

Pratique instantanée
🧠L'IA explique le code
🏆Certificat

Sans inscription • Sans carte