Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Foundations Arrays Methods: Part 1

Thomas Barnwell
Thomas Barnwell
1,951 Points

Badly written challenges in 'Arrays' module of JavaScript Foundations

Here is the challenge as written: "On about line 19, use a method on the 'spareWords' to set 'lastWord' to be the last word of the 'spareWords' array whilst simultaneously removing it from the end of the array."

What you mean is: "Use a method on the 'spareWords' array that removes the last value in the array, and assign the value to the variable 'lastWord'.

The original text is ambiguous. The text "to set 'lastWord' to be the last word of the 'spareWords' array", can mean two things:

  1. To add 'lastWord' at the end of the 'spareWords' array.
  2. To assign the value of the last item in the 'spareWords' array to the variable 'lastWord'

There is a similarly confusing challenge in the same module about "setting 'firstWord' to be the first word in the 'spareWords' array."

index.html
<!DOCTYPE html>
<html lang="en">
  <head>
    <title> JavaScript Foundations: Arrays</title>
    <style>
      html {
        background: #FAFAFA;
        font-family: sans-serif;
      }
    </style>
  </head>
  <body>
    <h1>JavaScript Foundations</h1>
    <h2>Arrays: Methods Part 1</h2>
    <script>
      var spareWords = ["The","chimney","sweep's","dog"];
      var saying = ["quick", "brown", "fox", "jumps", "over", "the", "lazy"];
      var firstWord = spareWords.shift();
      var lastWord = spareWords.;
      saying;
      saying;
    </script>
  </body>
</html>

Hey Thomas Barnwell,

That course does have some ambiguities and is a little more confusing than the updated JavaScript Basics course taught by Dave McFarland. I don't know if they are going to switch out the JavaScript Basics course for the JavaScript Foundations course on the Front End Web Development Track or not.