indexOf

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

Usage

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

indexOf( x, searchElement, fromIndex, equalNaNs )

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

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

var idx = indexOf( x, 3, 0, false );
// 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 = indexOf( x, 7, 0, false );
// returns -1

To begin searching from specific index, provide a non-zero fromIndex argument.

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

var idx = indexOf( x, 2, 3, false );
// returns 4

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 = indexOf( x, 2, -4, false );
// returns 4

When searching for a search element, the function checks for strict equality. As a consequence, NaN values are considered distinct. In order to resolve the first element which is NaN, set the equalNaNs argument to true.

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

var idx = indexOf( x, NaN, 0, false );
// returns -1

idx = indexOf( x, NaN, 0, true );
// returns 3

Notes

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

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

Examples

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

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

var idx = indexOf( x, 'beep', 0, false );
// returns 2

idx = indexOf( x, 'bop', 0, false );
// returns -1

idx = indexOf( x, 'foo', 1, false );
// returns 4

idx = indexOf( x, 'foo', -4, false );
// returns 4

idx = indexOf( x, 'foo', 5, false );
// returns -1
Did you find this page helpful?