--- id: 587d7dab367417b2b2512b6d title: Apply Functional Programming to Convert Strings to URL Slugs challengeType: 1 videoUrl: '' localeTitle: Aplicar programação funcional para converter seqüências de caracteres em URL Slugs --- ## Description
Os últimos vários desafios cobriram uma série de métodos úteis de matriz e string que seguem os princípios de programação funcional. Também aprendemos sobre reduce , que é um método poderoso usado para reduzir problemas a formulários mais simples. Das médias de computação à classificação, qualquer operação de matriz pode ser obtida aplicando-a. Lembre-se de que o map e o filter são casos especiais de reduce . Vamos combinar o que aprendemos para resolver um problema prático. Muitos sites de gerenciamento de conteúdo (CMS) têm os títulos de uma postagem adicionados a parte do URL para propósitos de bookmarking simples. Por exemplo, se você escrever um post do Medium intitulado "Stop Using Reduce", é provável que o URL tenha alguma forma de string de título nele ("... / stop-using-reduce"). Você já deve ter notado isso no site freeCodeCamp.
## Instructions
Preencha a função urlSlug para que ela converta um title string e retorne a versão hifenizada para o URL. Você pode usar qualquer um dos métodos abordados nesta seção e não usar replace . Aqui estão os requisitos: A entrada é uma string com espaços e palavras com título de caixa A saída é uma string com os espaços entre as palavras substituídas por um hífen ( - ) A saída deve ser todas letras maiúsculas A saída não deve ter espaços
## Tests
```yml tests: - text: A variável globalTitle não deve mudar. testString: 'assert(globalTitle === "Winter Is Coming", "The globalTitle variable should not change.");' - text: Seu código não deve usar o método replace para este desafio. testString: 'assert(!code.match(/\.replace/g), "Your code should not use the replace method for this challenge.");' - text: urlSlug("Winter Is Coming") deve retornar "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") deve retornar "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") deve retornar "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") deve retornar "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 ```