J'ai une chaîne comme ça

var test = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

En fait, je ne trouve pas la position de "t" dans cette chaîne. Je ne sais pas pourquoi, j'ai utilisé indexOf, j'ai essayé de le convertir en objet chaîne, mais tout a été vain

Note: Veuillez utiliser la chaîne exacte donnée dans la question, merci,

0
Krishna 9 août 2016 à 08:43

3 réponses

Meilleure réponse

Ce sont des caractères non standard, donc pour rechercher le "t" dans, vous devez réellement copier et coller le de votre chaîne.

>> test.indexOf("t")
>> 29

Pour démonstration:

"t".charCodeAt()
116 // ASCII code for lowercase t

"t".charCodeAt()
65364 // Something non-standard
3
aks. 9 août 2016 à 05:49

Utilisez String.prototype.indexOf() qui renverra l'index dans l'objet String appelant de la première occurrence de la valeur spécifiée.

Veuillez noter que t dans votre chaîne est un "caractère non standard" et ne sera pas trouvé par indexOf() si vous utilisez un "caractère standard".

Plus d'informations ici: https://developer.mozilla.org / fr / docs / Web / JavaScript / Reference / Global_Objects / String / indexOf

var test = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
console.log(test.indexOf("t"));
1
GibboK 9 août 2016 à 06:25

Vous ne pouvez pas trouver parce que ce n'est pas le «t» que vous essayez de trouver. Jetez un œil à "t".charCodeAt(0) qui renvoie 65364 et "t".charCodeAt(0) qui donne 116. Ce sont des caractères différents.

1
Paweł Dyl 9 août 2016 à 05:48