JavaScript - Método Array indexOf ()
Descripción
Matriz de JavaScript indexOf() El método devuelve el primer índice en el que se puede encontrar un elemento dado en la matriz, o -1 si no está presente.
Sintaxis
Su sintaxis es la siguiente:
array.indexOf(searchElement[, fromIndex]);
Detalles de los parámetros
searchElement - Elemento a ubicar en la matriz.
fromIndex- El índice en el que comenzar la búsqueda. El valor predeterminado es 0, es decir, se buscará en toda la matriz. Si el índice es mayor o igual que la longitud de la matriz, se devuelve -1.
Valor devuelto
Devuelve el índice del elemento encontrado.
Compatibilidad
Este método es una extensión de JavaScript del estándar ECMA-262; como tal, puede que no esté presente en otras implementaciones del estándar. Para que funcione, debe agregar el siguiente código en la parte superior de su secuencia de comandos.
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(elt /*, from*/) {
var len = this.length;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++) {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
Ejemplo
Pruebe el siguiente ejemplo.
<html>
<head>
<title>JavaScript Array indexOf Method</title>
</head>
<body>
<script type = "text/javascript">
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function(elt /*, from*/) {
var len = this.length;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++) {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
var index = [12, 5, 8, 130, 44].indexOf(8);
document.write("index is : " + index );
var index = [12, 5, 8, 130, 44].indexOf(13);
document.write("<br />index is : " + index );
</script>
</body>
</html>
Salida
index is : 2
index is : -1