# JavaScript Array lastIndexOf() Method
The `lastIndexOf()` method returns the last index (position) at which a specified element can be found in an array. If the element is not present, it returns `-1`.
The array is searched backwards, starting from a specified index (or the end of the array if not specified) and moving from right to left.
---
## Quick Examples
### Example 1: Find the last index of "Apple"
```javascript
const fruits = ["Apple", "Orange", "Apple", "Mango"];
let index = fruits.lastIndexOf("Apple");
console.log(index); // Output: 2
```
### Example 2: Find the last index of "Apple" in a larger array
```javascript
const fruits = ["Orange", "Apple", "Mango", "Apple", "Banana", "Apple"];
let index = fruits.lastIndexOf("Apple");
console.log(index); // Output: 5
```
---
## Syntax
```javascript
array.lastIndexOf(item, start)
```
### Parameters
| Parameter | Description |
| :--- | :--- |
| `item` | **Required.** The element to locate in the array. |
| `start` | **Optional.** The index at which to start searching backwards.
β’ Defaults to `array.length - 1` (the last element of the array).
β’ If negative, it is treated as an offset from the end of the array (e.g., `-2` starts searching from the second-to-last element). The search direction remains **right-to-left**. |
### Return Value
| Type | Description |
| :--- | :--- |
| `Number` | The index of the last occurrence of the element in the array, or `-1` if the element is not found. |
---
## Detailed Examples
### Example 3: Searching backwards from a specific index
In this example, we start searching backwards from index `4` (which is `"Banana"`). The search moves from index `4` towards index `0`.
```javascript
const fruits = ["Orange", "Apple", "Mango", "Apple", "Banana", "Apple"];
let index = fruits.lastIndexOf("Apple", 4);
console.log(index); // Output: 3
```
### Example 4: Using a negative start index
When using a negative index, the starting position is calculated from the end of the array. A value of `-2` refers to `"Banana"` (the second-to-last element). The search still proceeds from right to left.
```javascript
const fruits = ["Orange", "Apple", "Mango", "Apple", "Banana", "Apple"];
let index = fruits.lastIndexOf("Apple", -2);
console.log(index); // Output: 3
```
---
## Key Considerations & Behavior
1. **Strict Equality Comparison:** The `lastIndexOf()` method compares search elements to elements of the Array using **strict equality** (the same method used by the `===` operator). This means it distinguishes between different types (e.g., `1` and `"1"` are not equal).
2. **Search Direction:** Even when a custom `start` index is provided (positive or negative), the search always moves **backwards** (from right to left) towards the beginning of the array.
3. **Browser Support:** `lastIndexOf()` is an ECMAScript 5 (ES5) feature. It is fully supported in all modern browsers, including Chrome, Edge, Firefox, Safari, and Opera.
---
## Comparison of Array Search Methods
JavaScript provides several built-in methods to search for elements in an array. Choose the one that best fits your use case:
| Method | Description |
| :--- | :--- |
| `indexOf()` | Returns the index of the **first** element that matches the specified value. |
| `lastIndexOf()` | Returns the index of the **last** element that matches the specified value. |
| `find()` | Returns the **value** of the first element that satisfies a testing function. |
| `findIndex()` | Returns the **index** of the first element that satisfies a testing function. |
| `findLast()` | Returns the **value** of the last element that satisfies a testing function. |
| `findLastIndex()` | Returns the **index** of the last element that satisfies a testing function. |
π Categories
- β‘ JavaScript (1589)
- π PHP (872)
- π Python3 (810)
- π HTML (691)
- βοΈ C# (650)
- π Python (594)
- β Java (552)
- βοΈ PyTorch (534)
- π§ Linux (472)
- βοΈ C (432)
- π¦ jQuery (406)
- π¨ CSS (377)
- π XML (259)
- π¦ jQuery UI (231)
- π― Bootstrap (220)
- βοΈ C++ (215)
- π °οΈ Angular (205)
- π HTML DOM (201)
- π΄ Redis (188)
- π Web Building (142)
- π Vue.js (141)
- π R (131)
- πΌ Pandas (124)
- ποΈ SQL (105)
- βοΈ Docker (86)
- βοΈ TypeScript (73)
- βοΈ Highcharts (70)
- π AI Agent (70)
- βοΈ React (68)
- π Node.js (65)
- βοΈ Machine Learning (60)
- π Git (59)
- π΅ Go (58)
- π Markdown (58)
- π’ NumPy (55)
- π§ͺ Flask (54)
- βοΈ Scala (53)
- ποΈ SQLite (52)
- π JSTL (52)
- βοΈ VS Code (51)
- π MongoDB (49)
- π Perl (48)
- π Ruby (47)
- π Matplotlib (47)
- βοΈ Uncategorized (46)
- π Swift (46)
- ποΈ PostgreSQL (46)
- βοΈ Data Structures (46)
- π Playwright (46)
- π iOS (45)
- ποΈ MySQL (44)
- βοΈ LangChain (43)
- π FastAPI (40)
- βοΈ Ionic (38)
- π Design Patterns (37)
- βοΈ Eclipse (37)
- π¨ CSS3 (34)
- π Lua (34)
- βοΈ Codex (34)
- πΈ Django (32)
- βοΈ OpenCV (32)
- π Rust (31)
- π JSP (31)
- βοΈ Claude Code (31)
- π Pillow (30)
- βοΈ OpenCode (28)
- π AI Skills (27)
- π Flutter (26)
- π Maven (26)
- π¨ Tailwind CSS (25)
- π§ TensorFlow (25)
- π Servlet (24)
- π Dart (23)
- π Assembly (23)
- βοΈ Memcached (22)
- βοΈ SVG (22)
- βοΈ Electron (22)
- π NLP (22)
- π Regex (21)
- π Android (20)
- π£ Kotlin (19)
- π Julia (19)
- π SOAP (17)
- π Selenium (17)
- π PowerShell (17)
- π Sass (16)
- π HTTP (16)
- π Zig (15)
- π AI (15)
- π AJAX (14)
- π Swagger (14)
- βοΈ Scikit-learn (13)
- βοΈ ECharts (13)
- βοΈ Chart.js (13)
- βοΈ Cursor (13)
- βοΈ SciPy (12)
- π RDF (12)
- π Ollama (12)
- π Next.js (12)
- π Plotly Dash (12)
- π JSON (11)
- π RESTful API (11)
- π WSDL (9)
- βοΈ CMake (8)
- π Firebug (7)
- π Nginx (6)
- βΈοΈ Kubernetes (6)
- π Jupyter (6)
- π LaTeX (4)
- π UniApp (4)
- ποΈ SQL Server (1)
YouTip