This is beyond frustrating

This is beyond frustrating


In the Title Case a Sentence challenge, I already solved it in a non-conventional way, but was attempting to go back and solve it more in line with the lesson. When I got stuck I admit I checked the “Get a Hint” section. Well, shockingly even the Basic Code Solution was over my head. When was there a lesson on replaceAt? Where have they established a for statement like this

for (var st in newTitle) {
updatedTitle[st] = newTitle[st].toLowerCase().replaceAt(0, newTitle[st].charAt(0).toUpperCase());

When was substr introduced?!?!?!

And then the link for JS for Loops Explained is dead…

Are all the rest of the challenges this slapdash and horribly explained?? I mean heck with this challenge I can actually make more sense of the Intermediate Code example, because it has things in it that were, you know, actually explained to me in the previous lessons.

Sorry for the rant but its kind of counterintuitive and extremely frustrating when I’m trying to follow the hints and then I look at the sample code and it’s filled with things I’ve never heard of.


And now imagine working with some legacy code base. Without any documentation. Without any useful comments of tests. All previous coders, who worked with project are leaved or fired. Nobody can say you about code base anything.
And you walking from line to line like through thorned bushes.

FCC written by humans. Humans can fail. You have to deal with it. It’s part of work description.
For example, you can find all the js string methods and functions online, read their descriptions and decide - what they do and can or can not they help you in this particular task.

…unlike stinking cryptic enterprise codebase.


You’re right that it can be frustrating. The few times that I have looked at the hints the levels didn’t necessarily make sense (intermediate being simpler than basic for example). It’s kinda subjective what is considered to be a basic vs intermediate vs advanced solution in my opinion. Like @0Prime mentioned, it’s up to you to go outside of FCC and do research. No one here is using FCC alone. This site is to guide you on the right path, but you will need to dig much deeper. All of human knowledge is at your fingertips. MDN is a great place to start for further knowledge indeed. This is how it will be when you have a job.

You’re not expected to have been shown all the methods prior to each challenge; just enough to get you going. You said it yourself that you solved it on your own - hence your training couldn’t have been that inadequate. Keep at it and good luck!


I’ve removed the link. Please let someone know if you find any others.

Some of the solutions will use code you haven’t seen before. This is because you’re learning. That’s OK, try to not take it personally. You aren’t meant to get the “correct” solutions, but to practice thinking about how to solve problems using JavaScript. Expect to learn something every time you look at the official solutions, or anyone’s solution for that matter.

I get that you’re frustrated, but try to remember that FreeCodeCamp is built by volunteers and they’ve been busy making the next, much improved version. There’s also a lot of work involved in getting the wikis moved, edited, and shiny.


FCC gives you just enough to get you started, but does not give you everything you need to know. They refer to the Read-Search-Ask philosophy. This thinking will help you beyond FCC, because there will be times when you are not given everything and need to either search or ask someone else for help solving a problem.

Also, to solve the Title Case a Sentence challenge, you do not need to know any special functions other than toLowerCase and toUpperCase. Both of these functions were introduced before this current challenge in the curriculum.

function titleCase(str) {
  for (var newStr = '', i=0; i<str.length; i++) {
    if (str[i] !== ' ' && str[i-1] === ' ' || i===0) {
      newStr +=  str[i].toUpperCase();
    else {
      newStr += str[i].toLowerCase();
  return newStr;


Javascript has a lot of built in methods, and when you start out, it can seems intimidating. Luckily, you don’t need to learn them all, but you do need to be aware of what methods are available. You can always look up the syntax.

I’d recommend reading through and trying the methods out in the online editor.