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 trialIvan Burgos
12,065 PointsJavaScript Foundations - Stage 4 Arrays - Methods 2 - Challenge Task 2 Not sure how to approach this?
The previous video showed us how to sort from smallest to largest in a numerical way. This challenge asks us to sort strings from smallest to largest. I get that we have to use the length property but even with that knowledge I'm having trouble with this. Any help would be appreciated.
Numerical Way
my_Array.sort(function(a, b) { return a - b });
My Attempt
saying2.sort(function(word) {
return word.length;
});
<!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 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(word) {
return word.length;
});
</script>
</body>
</html>
1 Answer
Rich Bagley
25,869 PointsHi Ivan,
Try this for the saying2 lines:
saying2.sort(function (a, b){
return (a.length - b.length);
})
Hope that helps.
-Rich
Ivan Burgos
12,065 PointsIvan Burgos
12,065 PointsThanks Rich,
That worked perfectly, I guess I should of taken the numerical example in the video literally. I remembered him saying the example would only work for numbers but your logic makes sense. Thanks again for the help.