SyntaxError: Unexpected identifier when using "Else if"

Hello everyone; not the first time that happen, tried to utilize “else if” and receiving syntax error;
this time in the “mini linter” project:

let story = ‘Last weekend, I took literally the most beautiful bike ride of my life. The route is called “The 9W to Nyack” and it actually stretches all the way from Riverside Park in Manhattan to South Nyack, New Jersey. It’s really an adventure from beginning to end! It is a 48 mile loop and it basically took me an entire day. I stopped at Riverbank State Park to take some extremely artsy photos. It was a short stop, though, because I had a really long way left to go. After a quick photo op at the very popular Little Red Lighthouse, I began my trek across the George Washington Bridge into New Jersey. The GW is actually very long - 4,760 feet! I was already very tired by the time I got to the other side. An hour later, I reached Greenbrook Nature Sanctuary, an extremely beautiful park along the coast of the Hudson. Something that was very surprising to me was that near the end of the route you actually cross back into New York! At this point, you are very close to the end.’;

let overusedWords = [‘really’, ‘very’, ‘basically’];

let unnecessaryWords = [‘extremely’, ‘literally’, ‘actually’ ];

const storyWords = story.split(’ ')

console.log(storyWords.length)

const betterWords = storyWords.filter(function(word) {

return !unnecessaryWords.includes(word)

});

const reallyWord = 0;

const veryWord = 0;

const basicallyWord = 0;

for (word of storyWords) {

if (word === ‘really’)

return reallyWord += 1 }

else if (words === ‘very’)

return veryWord += 1 }

 else if (word === 'basically') {

  return basicallyWord =+ 1}

and the error:

/home/ccuser/workspace/learn-javascript-iterators-P1/main.js:20
else if (words === ‘very’)
^^^^
SyntaxError: Unexpected token else
at createScript (vm.js:53:10)
at Object.runInThisContext (vm.js:95:10)
at Module._compile (module.js:543:28)
at Object.Module._extensions…js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)

thank you for your help.

Hi,

Just a little quick tip, SyntaxError: Unexpected token usually involves errors that precede the code indicated.

I’m copy and pasting your code with the error and formatting it a little so it may be easier for you to see where the mistake is. Remember, the for-loop needs its own bracket, and every if and else if also needs their own dedicated brackets. See if you can spot the missing brackets.

for (word of storyWords) {
   if (word === ‘really’)
       return reallyWord += 1 
   } // this closes the for-loop, but... is there something missing before it?

else if (words === ‘very’)
     return veryWord += 1 
} // what is this closing?

else if (word === 'basically') {
     return basicallyWord =+ 1
}

1 Like

Fixed, thank you.

for (word of storyWords) {

if (word === ‘really’) {

reallyWord += 1 }

else if (word === ‘very’) {

 veryWord += 1 }

 else if (word === 'basically') {

   basicallyWord =+ 1}

}

Also, at the end of your code, check the increment operator.

I think it should be “basicallyWord += 1” rather than “basicallyWord =+1”.

1 Like

Noticed, it worked anyway tho.