Apply Functional Programming to Convert Strings to URL Slugs (Failing last two tests)

Apply Functional Programming to Convert Strings to URL Slugs (Failing last two tests)
0

#1

Tell us what’s happening:
Hi campers, can someone please tell me why I’m failing the last two tests? When I manually test the last two strings with my code they work perfectly, but when I’m still failing the tests.

Your code so far


// the global variable
var globalTitle = "Winter Is Coming";

// Add your code below this line
function urlSlug(title) {
  let arr = globalTitle.split(' ');
  const lowcaseArr = arr.map((item) => {
    let lowcase = item.charAt(0).toLowerCase() + item.slice(1);
    return lowcase;
  });
  return lowcaseArr.join('-');
}
// Add your code above this line

var winterComing = urlSlug(globalTitle); // Should be "winter-is-coming"
console.log(winterComing);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs


#2

First, do you understand what your code is returning for the last two tests? If not, then put in the applicable console.log inside your function or outside so you can see what is getting returned in those tests. Once you figure that out, then maybe you will understand what is happening better.


#3

When I use the strings of the last two tests as the global title, I get a-mind-needs-books-like-a-sword-needs-a-whetstone, and hold-the-door respectively. Which seems to be the right response.


#4

Exactly. Not sure why you are referencing the global variable inside your function. Doing that will cause your function to always return the same string no matter what is passed into the title argument. Maybe you should use the argument passed into the function inside of the global variable? Doing so will get you closer, but you still have some logic issues to work out to pass all the tests.


#5

To be honest I don’t know why I did that either. I’ve changed globalTitle.split(’ ‘) to title.split(’ '), and now it passes all the tests apart from the fourth one. I’ll try to solve that on my own. Thanks for the prompt reply.


#6

I was able to make it work using:

I’ll try to refactor the code later but for now its working.


#7

I can not view what you uploaded. It appears to be corrupt.


#8

I’ve just blurred it to avoid spoilers.


#9

you have to click it and then wait a bit (not sure why it takes a few beats to clear up )
i tried multiple clicks to be honest too … in the end it cleared up