Comment obtenir la lettre suivante de l'alphabet en Javascript?
Je suis de construire une saisie semi-automatique qui effectue des recherches hors de Vue CouchDB.
J'ai besoin d'être en mesure de prendre le dernier caractère de la chaîne d'entrée, et de remplacer le dernier caractère avec la lettre suivante de l'alphabet anglais. (Pas besoin pour l'i18n ici)
Par Exemple:
- Chaîne d'entrée = "b"
- startkey = "b"
- endkey = "c"
OU
- Chaîne d'entrée = "foo"
- startkey = "foo"
- endkey = "fop"
(dans le cas où vous poseriez la question, je suis en train de faire assurez-vous d'inclure l'option inclusive_end=false
de sorte que ce caractère supplémentaire ne pas entacher mon resultset)
La Question
- Est-il une fonction en natif dans le Javascript qui peut seulement recevoir la prochaine lettre de l'alphabet?
- Ou ai-je juste besoin de le sucer et de faire mon propre fantaisie fonctionner avec une base de la chaîne "abc...xyz" et
indexOf()
?
Vous devez vous connecter pour publier un commentaire.
z +1 = {
etZ +1 = [
//Ce sera le retour d'Un de Z et de z.
RegExp
sont plutôt lent...Une solution plus complète, qui reçoit la lettre suivante, selon la façon dont MS Excel numéros de colonnes...
A B C ... Y Z AA AB ... AZ BA ... ZZ AAA
Cela fonctionne avec de petites lettres, mais vous pouvez facilement l'étendre pour les bouchons trop.
key.substr(-1)
dans leelse{}
partie, pour obtenir le dernier caractère, mais il ne fonctionne pas dans IE JScript, qui n'accepte pas négatif indices poursubstr()
. Je ne suis pas sûr à propos de la prise en charge dans le nouveau Bord de navigateur si...substr()
... Semble IE10 le fait aussi (testé en changeant le mode de navigation dans IE11)A B C ... Y Z AA AB ... AZ BA ... ZZ AAA
Mais il retourne en faitA B .. Y Z ZA ZB .. ZY ZZ ZZA ZZB .. ZZY ZZZ ZZZA ZZZB ...
AA AB ... AZ A[
mais c'était la sortieZZA....ZZZ AAAA
correctement (au moins de mon test)Voici une fonction qui fait la même chose (sauf pour les majuscules uniquement, mais c'est facile à changer), mais qui utilise
slice
qu'une seule fois et est itératif plutôt que récursive. Dans un rapide de l'indice de référence, c'est environ 4 fois plus vite (ce qui n'est pertinente que si vous faites vraiment une utilisation importante!).}