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!

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 Functions Return Values

I can not just figure this out...

I tried all options but nothing works...

<!DOCTYPE html>
<html lang="en">
    <title>JavaScript Foundations: Functions</title>
      html {
        background: #FAFAFA;
        font-family: sans-serif;
    <h1>JavaScript Foundations</h1>
    <h2>Functions: Return Values</h2>

      function arrayCounter(array) {
        if(typeof array === array) {
          return array.length;
        if(typeof array === "undefined") {
          return 0;



2 Answers

William Li
William Li
Courses Plus Student 26,867 Points

Because this line typeof array === array is never going to work, typeof [1,2,3] will return object, use instanceof instead in this comparison .

[1, 2, 3] instanceof Array   // => true

thanks but this we haven't learn yet about this type of keyword...Hope it works!

William Li
William Li
Courses Plus Student 26,867 Points

sorry about that, Daniel, I didn't take this course so I didn't know; but I look at the code challenge, according to description of problem, looks like you don't need to worry about checking whether it's Array. (since you mention you haven't learned instanceof yet)

You should first check if the input is 'string', 'number' or 'undefined', if so, return 0; otherwise, just return the array's length. Doing so should get you pass this challenge. hope that helps

I will check later as for now I have to pack the luggage for a trip...Thanks William!