JavaScript - Array lastIndexOf (), méthode
La description
Tableau Javascript lastIndexOf()La méthode retourne le dernier index auquel un élément donné peut être trouvé dans le tableau, ou -1 s'il n'est pas présent. Le tableau est recherché en arrière, à partir defromIndex.
Syntaxe
Sa syntaxe est la suivante -
array.lastIndexOf(searchElement[, fromIndex]);
Détails des paramètres
searchElement - Élément à localiser dans le tableau.
fromIndex- L'index à partir duquel commencer la recherche en arrière. La valeur par défaut est la longueur du tableau, c'est-à-dire que tout le tableau sera recherché. Si l'index est supérieur ou égal à la longueur du tableau, le tableau entier sera recherché. S'il est négatif, il est considéré comme le décalage à partir de la fin du tableau.
Valeur de retour
Renvoie l'index de l'élément trouvé à partir du dernier.
Compatibilité
Cette méthode est une extension JavaScript de la norme ECMA-262; en tant que tel, il peut ne pas être présent dans d'autres implémentations de la norme. Pour que cela fonctionne, vous devez ajouter le code suivant en haut de votre script.
if (!Array.prototype.lastIndexOf) {
Array.prototype.lastIndexOf = function(elt /*, from*/) {
var len = this.length;
var from = Number(arguments[1]);
if (isNaN(from)) {
from = len - 1;
} else {
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
else if (from >= len)
from = len - 1;
}
for (; from > -1; from--) {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
Exemple
Essayez l'exemple suivant.
<html>
<head>
<title>JavaScript Array lastIndexOf Method</title>
</head>
<body>
<script type = "text/javascript">
if (!Array.prototype.lastIndexOf) {
Array.prototype.lastIndexOf = function(elt /*, from*/) {
var len = this.length;
var from = Number(arguments[1]);
if (isNaN(from)) {
from = len - 1;
} else {
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
else if (from >= len)
from = len - 1;
}
for (; from > -1; from--) {
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
var index = [12, 5, 8, 130, 44].lastIndexOf(8);
document.write("index is : " + index );
var index = [12, 5, 8, 130, 44, 5].lastIndexOf(5);
document.write("<br />index is : " + index );
</script>
</body>
</html>
Production
index is : 2
index is : 5