Return the index of the first element which equals a provided search element.
var indexOf = require( '@stdlib/array/base/index-of' );
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 );
// 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 );
// 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 );
// 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 );
// returns 4
-
If provided an array-like object having an
indexOf
method, 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, 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.
var indexOf = require( '@stdlib/array/base/index-of' );
var x = [ 'foo', 'bar', 'beep', 'boop', 'foo', 'bar' ];
var idx = indexOf( x, 'beep', 0 );
// returns 2
idx = indexOf( x, 'bop', 0 );
// returns -1
idx = indexOf( x, 'foo', 1 );
// returns 4
idx = indexOf( x, 'foo', -4 );
// returns 4
idx = indexOf( x, 'foo', 5 );
// returns -1