JavaScriptは2025年にも驚かせることができます。配列を操作するためのものはすべてそろっているように思えます。map、filter、find、reduce…しかし、最近、新しいメソッドが登場しました。 findLast() と findLastIndex()これは単なる化粧品ではなく、まさに小さな革命です。
なぜ新しい方法が必要なのですか?
最近まで、もし私たちが見つける必要があったら 配列の最後の要素、条件を満たすには、回避する必要がありました。
配列を
reverse()で反転させ、find()を適用します。または、最後からサイクルを実行します。
欠点は明らかです。
reverse()は配列を変異させます。これは危険で明白ではありません。ループは煩雑で、現代のJavaScriptの精神に反します。

変更点
今ではすべてが簡単です。
findLast()は、条件に一致する最後の要素を検索します。findLastIndex()は、この要素のインデックスを返します。
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: "ゴーシャ", active: true }}
console.log(users.findLastIndex(user => user.active));
// 3
なぜこれが古いトリックよりも優れているのですか?
コードはテキストとして読み取られます — 意図を推測する必要はありません。
安全性 — 配列の変異はありません。
速度 - インタプリタは最後に来て、最初の一致で停止します。
「前/後」:例
課題 | 以前 | 現在 |
|---|---|---|
最後のアクティブユーザー | | |
最後のエラーインデックス | | |
最後の偶数要素 | | |

よくある質問
何が返品されますか?
findLast()— 要素またはundefined。findLastIndex()はインデックスまたは-1です。生産性について: 配列を終わりから1回、反転やコピーなしで通過します。
TypeScript: シグネチャは
find/findIndexと同様で、移行は最小限です。
結論
findLast() と findLastIndex() は、reverse() と手動ループを使用したコールバックパターンの実用的な代替です。コードはより短く、より安全で、より明確になります。
🙌 これらの機能や新機能については、私たちの居心地の良い テレグラムチャンネル開発の世界のニュースを共有し、新しいツールを分析し、プログラマーの生活について冗談を言います。ぜひご参加ください。楽しいことがたくさんあります!
