Est-ce que quelqu'un connaît une bibliothèque Javascript (par exemple, soulignement, jQuery, MooTools, etc.) qui offre une méthode pour incrémenter une lettre?
J'aimerais pouvoir faire quelque chose comme:
"a"++; // would return "b"
javascript
increment
alphabetical
Andyzinsser
la source
la source
Réponses:
Solution simple et directe
Comme d'autres l'ont noté, l'inconvénient est qu'il peut ne pas gérer les cas comme la lettre «z» comme prévu. Mais cela dépend de ce que vous en voulez. La solution ci-dessus renverra '{' pour le caractère après 'z', et c'est le caractère après 'z' en ASCII, donc cela pourrait être le résultat que vous recherchez en fonction de votre cas d'utilisation.
Générateur de cordes unique
(Mis à jour le 09/05/2019)
Étant donné que cette réponse a reçu autant de visibilité, j'ai décidé de l'élargir un peu au-delà de la portée de la question initiale pour potentiellement aider les personnes qui trébuchent sur cela de Google.
Je trouve que ce que je veux souvent, c'est quelque chose qui générera des chaînes séquentielles et uniques dans un certain jeu de caractères (par exemple, n'utiliser que des lettres), j'ai donc mis à jour cette réponse pour inclure une classe qui le fera ici:
Usage:
la source
Un javascript simple devrait faire l'affaire:
la source
Et si la lettre donnée est z? Voici une meilleure solution. Il va A, B, C ... X, Y, Z, AA, AB, ... etc. Fondamentalement, il incrémente les lettres comme les ID de colonne d'une feuille de calcul Excel.
nextChar ('yz'); // renvoie "ZA"
la source
if (same(u,'Z')){
enif (u == 'Z'){
et cela fonctionne parfaitement, merci!same(str,char)
n'a pas été collée là-dedans? Je ne sais pas.same()
c'est clairement une fonction personnalisée. Eh bien,==
ça marche, et si je voulais être super sûr, je pourrais l'utiliser===
, mais je l'ai testé, et c'est bien. Merci encore!Un moyen possible pourrait être tel que défini ci-dessous
la source
Vous pouvez essayer ceci
Convertissez-le d'abord en nombre Ascii .. Incrémentez-le .. puis convertissez-le d'Ascii en caractère.
Vérifiez FIDDLE
la source
J'avais besoin d'utiliser des séquences de lettres plusieurs fois et j'ai donc créé cette fonction sur la base de cette question SO. J'espère que cela peut aider les autres.
Comment l'utiliser:
Voir cette démo fonctionnelle
la source
En ajoutant toutes ces réponses:
Exemple: http://jsfiddle.net/pitaj/3F5Qt/
la source
Celui-ci fonctionne bien:
la source
Une solution juste pour rire
la source
C'est vraiment vieux. Mais j'avais besoin de cette fonctionnalité et aucune des solutions n'est optimale pour mon cas d'utilisation. Je voulais générer a, b, c ... z, aa, ab ... zz, aaa .... Cette simple récursivité fait le travail.
la source
Créer une fonction avec {a: 'b', b: 'c', etc} dans une fermeture: -
usage:-
Ajout de majuscules et de chiffres: -
ps Dans certaines versions de Javascript, vous pouvez utiliser à la
[...chars]
place dechars.split('')
la source
Voici une variante de l'algorithme rot13 que j'ai soumis sur https://stackoverflow.com/a/28490254/881441 :
Le code d'entrée en bas et le codec recherché sont en haut (c'est-à-dire que le code de sortie est le même que le code d'entrée mais décalé de 1). La fonction ne change que les lettres, c'est-à-dire que si un autre caractère est passé, il sera inchangé par ce codec.
la source
la source
Basé sur l'incrémentation et la diminution de réponse du mur @Nathan
Usage
la source