Files
.github
api-server
client
config
curriculum
challenges
_meta
arabic
chinese
english
portuguese
russian
spanish
01-responsive-web-design
02-javascript-algorithms-and-data-structures
basic-algorithm-scripting
basic-data-structures
basic-javascript
debugging
es6
functional-programming
add-elements-to-the-end-of-an-array-using-concat-instead-of-push.spanish.md
apply-functional-programming-to-convert-strings-to-url-slugs.spanish.md
avoid-mutations-and-side-effects-using-functional-programming.spanish.md
combine-an-array-into-a-string-using-the-join-method.spanish.md
combine-two-arrays-using-the-concat-method.spanish.md
implement-map-on-a-prototype.spanish.md
implement-the-filter-method-on-a-prototype.spanish.md
introduction-to-currying-and-partial-application.spanish.md
learn-about-functional-programming.spanish.md
pass-arguments-to-avoid-external-dependence-in-a-function.spanish.md
refactor-global-variables-out-of-functions.spanish.md
remove-elements-from-an-array-using-slice-instead-of-splice.spanish.md
return-a-sorted-array-without-changing-the-original-array.spanish.md
return-part-of-an-array-using-the-slice-method.spanish.md
sort-an-array-alphabetically-using-the-sort-method.spanish.md
split-a-string-into-an-array-using-the-split-method.spanish.md
understand-functional-programming-terminology.spanish.md
understand-the-hazards-of-using-imperative-code.spanish.md
use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.spanish.md
use-the-filter-method-to-extract-data-from-an-array.spanish.md
use-the-map-method-to-extract-data-from-an-array.spanish.md
use-the-reduce-method-to-analyze-data.spanish.md
use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.spanish.md
intermediate-algorithm-scripting
javascript-algorithms-and-data-structures-projects
object-oriented-programming
regular-expressions
03-front-end-libraries
04-data-visualization
05-apis-and-microservices
06-information-security-and-quality-assurance
08-coding-interview-prep
09-certificates
schema
test
.babelrc
.editorconfig
.npmignore
.travis.yml
CHANGELOG.md
LICENSE.md
commitizen.config.js
commitlint.config.js
create-challenge-bundle.js
getChallenges.js
gulpfile.js
lib.js
package-entry.js
package-lock.json
package.json
utils.js
cypress
docs
search-indexing
tools
utils
.editorconfig
.eslintignore
.eslintrc.json
.gitattributes
.gitignore
.gitpod.yml
.node-inspectorrc
.npmrc
.prettierignore
.prettierrc
.snyk
.travis.yml
.vcmrc
CODE_OF_CONDUCT.md
CONTRIBUTING.md
Dockerfile.tests
HoF.md
LICENSE.md
README.md
SECURITY.md
change_volumes_owner.sh
cypress-install.js
cypress.json
docker-compose-shared.yml
docker-compose.tests.yml
docker-compose.yml
jest.config.js
lerna.json
package-lock.json
package.json
sample.env
freeCodeCamp/curriculum/challenges/spanish/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.spanish.md

70 lines
4.1 KiB
Markdown
Raw Normal View History

2018-10-08 13:34:43 -04:00
---
id: 587d7dab367417b2b2512b6d
title: Apply Functional Programming to Convert Strings to URL Slugs
challengeType: 1
2018-10-10 16:20:40 -04:00
videoUrl: ''
localeTitle: Aplique programación funcional para convertir cadenas en slugs de URL
2018-10-08 13:34:43 -04:00
---
## Description
2018-10-10 16:20:40 -04:00
<section id="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 <code>reduce</code> , 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 <code>map</code> y el <code>filter</code> son casos especiales de <code>reduce</code> . 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 &quot;Dejar de usar reducir&quot;, es probable que la URL tenga alguna forma de la cadena de título (&quot;... / stop-using-reduce-)&quot;. Es posible que ya hayas notado esto en el sitio freeCodeCamp. </section>
2018-10-08 13:34:43 -04:00
## Instructions
2018-10-10 16:20:40 -04:00
<section id="instructions"> Complete la función <code>urlSlug</code> para que convierta un <code>title</code> 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 <code>replace</code> . 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 ( <code>-</code> ) La salida debe ser todas letras minúsculas La salida no debe tener espacios </section>
2018-10-08 13:34:43 -04:00
## Tests
<section id='tests'>
```yml
tests:
- text: La variable <code>globalTitle</code> no debe cambiar.
testString: 'assert(globalTitle === "Winter Is Coming", "The <code>globalTitle</code> variable should not change.");'
- text: Su código no debe usar el método de <code>replace</code> para este desafío.
testString: 'assert(!code.match(/\.replace/g), "Your code should not use the <code>replace</code> method for this challenge.");'
- text: <code>urlSlug(&quot;Winter Is Coming&quot;)</code> debería devolver <code>&quot;winter-is-coming&quot;</code> .
testString: 'assert(urlSlug("Winter Is Coming") === "winter-is-coming", "<code>urlSlug("Winter Is Coming")</code> should return <code>"winter-is-coming"</code>.");'
- text: <code>urlSlug(&quot; Winter Is Coming&quot;)</code> debería devolver <code>&quot;winter-is-coming&quot;</code> .
testString: 'assert(urlSlug(" Winter Is Coming") === "winter-is-coming", "<code>urlSlug(" Winter Is &nbsp;Coming")</code> should return <code>"winter-is-coming"</code>.");'
- text: <code>urlSlug(&quot;A Mind Needs Books Like A Sword Needs A Whetstone&quot;)</code> <code>&quot;a-mind-needs-books-like-a-sword-needs-a-whetstone&quot;</code> <code>urlSlug(&quot;A Mind Needs Books Like A Sword Needs A Whetstone&quot;)</code> debería devolver <code>&quot;a-mind-needs-books-like-a-sword-needs-a-whetstone&quot;</code> .
testString: 'assert(urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone") === "a-mind-needs-books-like-a-sword-needs-a-whetstone", "<code>urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone")</code> should return <code>"a-mind-needs-books-like-a-sword-needs-a-whetstone"</code>.");'
- text: <code>urlSlug(&quot;Hold The Door&quot;)</code> debe devolver <code>&quot;hold-the-door&quot;</code> .
testString: 'assert(urlSlug("Hold The Door") === "hold-the-door", "<code>urlSlug("Hold The Door")</code> should return <code>"hold-the-door"</code>.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='js-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"
2018-10-10 16:20:40 -04:00
2018-10-08 13:34:43 -04:00
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>