Pourquoi IndexOf renvoie -1?
Je suis en train d'apprendre le Javascript et ne comprends pas pourquoi les indexOf ci-dessous retourne -1:
var string = "The quick brown fox jumps over the lazy dog";
console.log (string.indexOf("good"));
source d'informationauteur Adnan Khan
Vous devez vous connecter pour publier un commentaire.
-1 signifie "no match found".
La raison pour laquelle il renvoie -1 au lieu de "faux", c'est que l'aiguille au début de la chaîne à la position 0, ce qui est équivalent à false dans le Javascript. Donc, pour en revenir -1 assure que vous savez qu'il n'est pas réellement un match.
Car les tableaux sont 0, de retour de 0 signifie en commençant à partir du premier caractère a été mis en correspondance; 1, le deuxième caractère, et ainsi de suite. Cela signifie quelque chose de 0 et serait un vrai ou "trouvé" réponse. De tout garder à l'entier de la catégorie, la valeur de -1 signifie aucune correspondance trouvée.
-1 signifie aucune correspondance n'est trouvée. "bon" n'est pas dans cette phrase. C'est documenté comportement.
Il y a une autre raison pour indexOf pour retourner -1 si aucune correspondance n'est trouvée. Considérez le code ci-dessous:
Parce que ~(-1) = 0 donc le fait que indexOf retourner -1 facilite l'écriture des if...else à l'aide de ~.
La recherche jamais trouve ce qu'il cherche ("bon", n'est pas dans la phrase), et -1 est la valeur de retour par défaut.
http://www.w3schools.com/jsref/jsref_indexof.asp