Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

lastIndexOf

Return the index of the last element which equals a provided search element.

Usage

var lastIndexOf = require( '@stdlib/array/base/last-index-of' );

lastIndexOf( x, searchElement, fromIndex )

Returns the index of the last element which equals a provided search element.

var x = [ 1, 2, 3, 4, 5, 6 ];

var idx = lastIndexOf( x, 3, 5 );
// returns 2

If the function is unable to find an element which equals a provided search element, the function returns -1.

var x = [ 1, 2, 3, 4, 5, 6 ];

var idx = lastIndexOf( x, 7, 5 );
// returns -1

To begin searching from a specific index, provide a corresponding fromIndex argument.

var x = [ 1, 1, 2, 1, 2, 3, 3 ];

var idx = lastIndexOf( x, 2, 3 );
// returns 2

If fromIndex is less than zero, the starting index is resolved relative to the last array element, with the last array element corresponding to fromIndex = -1.

var x = [ 1, 1, 2, 1, 2, 3, 3 ];

var idx = lastIndexOf( x, 2, -4 );
// returns 2

Notes

  • The function scans an input array from the starting index to the beginning of the array (i.e., backward).

  • If provided an array-like object having a lastIndexOf method, the function defers execution to that method and assumes that the method API has the following signature:

    x.lastIndexOf( searchElement, fromIndex )
    
  • If provided an array-like object without a lastIndexOf method, the function performs a linear scan and returns immediately upon finding a match.

  • When searching for a search element, the function checks for equality using the strict equality operator ===. As a consequence, NaN values are considered distinct, and -0 and +0 are considered the same.

Examples

var lastIndexOf = require( '@stdlib/array/base/last-index-of' );

var x = [ 'foo', 'bar', 'beep', 'boop', 'foo', 'bar' ];

var idx = lastIndexOf( x, 'beep', 5 );
// returns 2

idx = lastIndexOf( x, 'bop', 5 );
// returns -1

idx = lastIndexOf( x, 'foo', 5 );
// returns 4

idx = lastIndexOf( x, 'foo', -3 );
// returns 0

idx = lastIndexOf( x, 'foo', -50 );
// returns -1