J'ai besoin d'obtenir le dernier élément d'un tableau divisé avec plusieurs séparateurs. Les séparateurs sont des virgules et des espaces. S'il n'y a pas de séparateurs, il doit renvoyer la chaîne d'origine.
Si la chaîne est "comment, allez-vous, aujourd'hui?" il devrait revenir "aujourd'hui?"
Si l'entrée était "bonjour", la sortie devrait être "bonjour".
Comment puis-je faire cela en JavaScript?
javascript
split
JJJ
la source
la source
pieces.pop()
pour obtenir le dernier élément de votre tableau.var last = str.split(/[\s,]+/).pop()
Il y a une seule ligne pour tout. :)
la source
split
appel, il n'est de toute façon pas conservé. La chaîne d'origine n'est pas modifiée en faisant sauter l'élément du tableau.{1,}
, c'est-à-dire qui[, ]+
correspond à un ou plusieurs des caractères de l'ensemble (virgule et espace). C'est utile lorsque vous voulez tous les mots de la chaîne, mais lorsque vous ne voulez que le dernier mot, cela ne fait aucune différence fonctionnelle, cela ne fait que réduire la surcharge car il y aura moins de chaînes dans le tableau.la source
.split(',').pop()
fonctionne pour le dernier élément sur une chaîne séparée par des virgules. Je dis juste parce que j'ai été induit en erreur par la réponse géniale de Guffa, je l'ai juste ignorée parce que je n'avais pas besoin d'une expression régulière et que je pensais que l'astuce était là! : PVous pouvez également envisager d'inverser votre tableau et de prendre le premier élément. De cette façon, vous n'avez pas besoin de connaître la longueur, mais cela n'apporte aucun avantage réel et l'inconvénient que l'opération inverse peut prendre plus de temps avec de gros tableaux:
C'est facile cependant, mais modifie également le tableau d'origine en question. Cela pourrait ou non être un problème.
Référence: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse
Vous voudrez probablement utiliser ceci cependant:
la source
.pop()
méthode est la meilleure réponse que j'ai vue jusqu'à présent. C'est pourquoi il a été créé!Le meilleur jamais et mon préféré.
la source
Et si vous ne voulez pas construire de tableau ...
La ventilation en anglais est:
Le remplacement dit simplement de remplacer la chaîne entière par le truc après le dernier séparateur.
Vous pouvez donc voir comment cela peut être appliqué de manière générale. Notez que la chaîne d'origine n'est pas modifiée.
la source
la source
Vous pouvez accéder directement à l'index du tableau:
var csv = 'zero,one,two,three'; csv.split(',')[0]; //result: zero csv.split(',')[3]; //result: three
la source