reduce
, который является мощным методом, используемым для уменьшения проблем в более простых формах. От вычисления средних значений до сортировки любая операция массива может быть достигнута путем ее применения. Напомним, что map
и filter
являются особыми случаями reduce
. Давайте объединим то, что мы узнали, чтобы решить практическую проблему. На многих сайтах управления контентом (CMS) заголовки сообщения добавлены в часть URL для простых целей закладок. Например, если вы пишете средний пост под названием «Stop Using Reduce», вероятно, URL-адрес будет иметь в нем какую-то форму заголовка («... / stop-using-reduce»). Возможно, вы уже это заметили на сайте freeCodeCamp.
urlSlug
чтобы она преобразует title
строки и возвращает переносимую версию для URL-адреса. Вы можете использовать любой из методов, описанных в этом разделе, и не использовать replace
. Вот требования: Вход представляет собой строку с пробелами и заглавными словами. Вывод представляет собой строку с пробелами между словами, замененными дефис ( -
). Вывод должен быть все буквы с нижним окошком. На выходе не должно быть пробелов
globalTitle
variable should not change.
testString: assert(globalTitle === "Winter Is Coming");
- text: Your code should not use the replace
method for this challenge.
testString: assert(!code.match(/\.replace/g));
- text: urlSlug("Winter Is Coming")
should return "winter-is-coming"
.
testString: assert(urlSlug("Winter Is Coming") === "winter-is-coming");
- text: urlSlug(" Winter Is Coming")
should return "winter-is-coming"
.
testString: assert(urlSlug(" Winter Is Coming") === "winter-is-coming");
- text: urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone")
should return "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");
- text: urlSlug("Hold The Door")
should return "hold-the-door"
.
testString: assert(urlSlug("Hold The Door") === "hold-the-door");
```