La question est de freecodecamp Link
Remplissez la fonction
urlslug code> afin qu'il convertit une chaînetitre code> et renvoie la version hyphenée de l'URL. Vous pouvez utiliser n'importe laquelle des méthodes couvertes dans cette section et n'utilisez pasremplacer code>. Voici les exigences: P>L'entrée est une chaîne avec des espaces et des mots en forme de titre p>
La sortie est une chaîne avec les espaces entre les mots remplacés par un HYHEN (
- code>) p>La sortie doit être toutes les lettres mouches inférieures p>
La sortie ne doit pas avoir d'espaces p> blockQuote>
xxx pré> maintenant, je n'ai pas été capable de résoudre comment je pourrais vous débarrasser de l'union supplémentaire de la sortie. P>
Je ne suis pas censé Utilisez
remplacer code>. p> p>
3 Réponses :
vous pourrait em> le faire facilement à l'aide de p> couper () code> et une simple regex: var title = " Winter Is Coming Now ";
var slug = title.split(" ").filter(word => word.length > 0).join("-").toLowerCase();
console.log(slug);
Je travaillais dessus jusqu'à présent, je n'ai pas regardé les réponses.
Mais j'ai résolu de cette façon. Pourrait être inefficace.
Une autre option serait de continuer votre pensée de p> Split () code> puis utilisez Réduisez pour réduire les éléments du tableau à une seule sortie: var globalTitle = " Winter Is Coming";
function urlSlug(title) {
let split = title.split(' ');
return split.reduce((accumulator, currentValue, index) => {
if (currentValue.length > 0) {
accumulator += currentValue.toLowerCase();
accumulator += (index < split.length - 1) ? '-' : '';
}
return accumulator;
});
}
console.log(urlSlug(globalTitle));