An open API service indexing awesome lists of open source software.

https://github.com/xotic750/last-index-of-x

An extended ES6 lastIndexOf.
https://github.com/xotic750/last-index-of-x

array browser ecmascript lastindexof nodejs

Last synced: 4 months ago
JSON representation

An extended ES6 lastIndexOf.

Awesome Lists containing this project

README

        


Travis status


Dependency status


devDependency status


npm version


jsDelivr hits


bettercodehub score


Coverage Status

## last-index-of-x

An extended ES6 lastIndexOf.

### `module.exports(array, searchElement, [fromIndex], [extend])` ⇒ number

This method returns the last index at which a given element
can be found in the array, or -1 if it is not present.
The array is searched backwards, starting at fromIndex.

**Kind**: Exported function
**Returns**: number - Returns index of found element, otherwise -1.
**Throws**:

- TypeError If `array` is `null` or `undefined`.

| Param | Type | Description |
| ------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| array | Array | The array to search. |
| searchElement | \* | Element to locate in the `array`. |
| [fromIndex] | number | The index at which to start searching backwards. Defaults to the array's length minus one, i.e. the whole array will be searched. If the index is greater than or equal to the length of the array, the whole array will be searched. If negative, it is taken as the offset from the end of the array. Note that even when the index is negative, the array is still searched from back to front. If the calculated index is less than 0, -1 is returned, i.e. the array will not be searched. |
| [extend] | string | Extension type: `SameValue` or `SameValueZero`. |

**Example**

```js
import lastIndexOf from 'last-index-of-x';

const subject = [NaN, 2, 3, undefined, true, 'hej', null, 2, false, 0, -0];

// Standard mode, operates just like `Array.prototype.lastIndexOf`.
lastIndexOf(subject, null); // 6
lastIndexOf(testSubject, '2'); // -1
lastIndexOf(testSubject, NaN); // -1
lastIndexOf(testSubject, 0); // 10
lastIndexOf(testSubject, 2, -6); // 1

// `SameValueZero` mode extends `lastIndexOf` to match `NaN`.
lastIndexOf(subject, null, 'SameValueZero'); // 6
lastIndexOf(testSubject, '2', 'SameValueZero'); // -1
lastIndexOf(testSubject, NaN, 'SameValueZero'); // 0
lastIndexOf(testSubject, 0, 'SameValueZero'); // 10
lastIndexOf(testSubject, 2, -6, 'SameValueZero'); // 1

// `SameValue` mode extends `lastIndexOf` to match `NaN` and signed `0`.
lastIndexOf(subject, null, 'SameValue'); // 6
lastIndexOf(testSubject, '2', 'SameValue'); // -1
lastIndexOf(testSubject, NaN, 'SameValue'); // 0
lastIndexOf(testSubject, 0, 'SameValue'); // 9
lastIndexOf(testSubject, 2, -6, 'SameValue'); // 1
```