--- id: 587d7dab367417b2b2512b6d title: Apply Functional Programming to Convert Strings to URL Slugs challengeType: 1 videoUrl: '' localeTitle: Aplique programación funcional para convertir cadenas en slugs de URL --- ## Description
Los últimos varios desafíos cubrieron una serie de métodos de matriz y cadena útiles que siguen los principios de programación funcional. También hemos aprendido sobre reduce , que es un método poderoso que se utiliza para reducir problemas a formas más simples. Desde los promedios de computación hasta la clasificación, cualquier operación de matriz se puede lograr aplicándolo. Recordemos que el map y el filter son casos especiales de reduce . Combinemos lo que hemos aprendido para resolver un problema práctico. Muchos sitios de administración de contenido (CMS) tienen los títulos de una publicación agregada a parte de la URL con fines de marcadores simples. Por ejemplo, si escribe una publicación mediana titulada "Dejar de usar reducir", es probable que la URL tenga alguna forma de la cadena de título ("... / stop-using-reduce-)". Es posible que ya hayas notado esto en el sitio freeCodeCamp.
## Instructions
Complete la función urlSlug para que convierta un title cadena y devuelva la versión con guión para la URL. Puede usar cualquiera de los métodos cubiertos en esta sección, y no usar replace . Estos son los requisitos: La entrada es una cadena con espacios y palabras en letras. La salida es una cadena con los espacios entre palabras reemplazadas por un guión ( - ) La salida debe ser todas letras minúsculas La salida no debe tener espacios
## Tests
```yml tests: - text: La variable globalTitle no debe cambiar. testString: 'assert(globalTitle === "Winter Is Coming", "The globalTitle variable should not change.");' - text: Su código no debe usar el método de replace para este desafío. testString: 'assert(!code.match(/\.replace/g), "Your code should not use the replace method for this challenge.");' - text: urlSlug("Winter Is Coming") debería devolver "winter-is-coming" . testString: 'assert(urlSlug("Winter Is Coming") === "winter-is-coming", "urlSlug("Winter Is Coming") should return "winter-is-coming".");' - text: urlSlug(" Winter Is Coming") debería devolver "winter-is-coming" . testString: 'assert(urlSlug(" Winter Is Coming") === "winter-is-coming", "urlSlug(" Winter Is  Coming") should return "winter-is-coming".");' - text: urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone") "a-mind-needs-books-like-a-sword-needs-a-whetstone" urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone") debería devolver "a-mind-needs-books-like-a-sword-needs-a-whetstone" . testString: 'assert(urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone") === "a-mind-needs-books-like-a-sword-needs-a-whetstone", "urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone") should return "a-mind-needs-books-like-a-sword-needs-a-whetstone".");' - text: urlSlug("Hold The Door") debe devolver "hold-the-door" . testString: 'assert(urlSlug("Hold The Door") === "hold-the-door", "urlSlug("Hold The Door") should return "hold-the-door".");' ```
## Challenge Seed
```js // the global variable var globalTitle = "Winter Is Coming"; // Add your code below this line function urlSlug(title) { } // Add your code above this line var winterComing = urlSlug(globalTitle); // Should be "winter-is-coming" ```
## Solution
```js // solution required ```