Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript JavaScript Foundations Arrays Methods: Part 2

Creating sort function

The error message is that task 1 is not being passed... and I'm not doing anything with saying1

<script>
      var saying1 = ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"];
      var saying2 = ["The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog's", "back"];
      saying1.reverse();
      saying2.sort(function(saying2.length, b){
       return saying2.length - b;
      });

3 Answers

You cannot access variables in function parameters like saying2.length - only define parameter names.

If what you want is to sort by length you probably want something like:

saying2.sort(function(a, b){
       return a.length - b.length;
});

...but it won't be sorted alphabetically ;)

How come I've seen some function with strings inside like

function("string",b){...};

What would they just be normal parameter names?

That wouldn't be working javascript :D