Array.lastIndexOf() Find the last matching index
Last updated: 2026-10-13
Array.lastIndexOf() Find the last matching index
lastIndexOf searches backwards from the end and returns the index of the last match, or -1. It uses strict equality (===), so object literals never match.
| Category | Arrays |
|---|---|
| ES version | ES5 (2009) |
📝 Syntax
array.lastIndexOf(searchElement, fromIndex);
⚙️ Parameters
| searchElement | Value to find; compared with strict equality (===). |
|---|---|
| fromIndex | Optional. Index to start searching backwards from; defaults to the end. |
Returns:The last matching index, or -1.
Mutates the original:No (returns a new value)
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
3
1
-1
⚠️ Warning lastIndexOf cannot find objects — {a:1} === {a:1} is false. Use findLastIndex for property matching.
💡 Tip NaN never matches (NaN === NaN is false); use findLastIndex(Number.isNaN) instead.
🌐 Browser support
| Browser | |||||
|---|---|---|---|---|---|
| Array.lastIndexOf() | ✓ v1 | ✓ v12 | ✓ v1.5 | ✓ v3 | ✓ v10.5 |
| Supported by all modern browsers | |||||
🏷️ Related Array Methods
💡 Related Cases
More case studies coming soon — check back later.
📚 Related Tutorials
❓ FAQ
QlastIndexOf vs indexOf?
AindexOf scans forward for the first match; lastIndexOf scans backward for the last.
QWhat if fromIndex is negative?
AIt is offset from the end: -2 starts two elements before the end.
QCan it find NaN?
ANo — NaN !== NaN, so it always returns -1. Use findLastIndex(Number.isNaN).