JavaScript - Método Array indexOf ()
Descrição
Array JavaScript indexOf() método retorna o primeiro índice no qual um determinado elemento pode ser encontrado na matriz, ou -1 se não estiver presente.
Sintaxe
Sua sintaxe é a seguinte -
array.indexOf(searchElement[, fromIndex]);
Detalhes de Parâmetro
searchElement - Elemento a localizar na matriz.
fromIndex- O índice no qual iniciar a pesquisa. O padrão é 0, ou seja, todo o array será pesquisado. Se o índice for maior ou igual ao comprimento da matriz, -1 é retornado.
Valor de retorno
Retorna o índice do elemento encontrado.
Compatibilidade
Este método é uma extensão JavaScript do padrão ECMA-262; como tal, pode não estar presente em outras implementações do padrão. Para fazer isso funcionar, você precisa adicionar o código a seguir na parte superior do seu script.
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;
};
}
Exemplo
Experimente o seguinte exemplo.
<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>
Resultado
index is : 2
index is : -1