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 Array Iteration Methods Array Manipulation Practice reduce()

Please help.. it is saying my output is not right.. My output is :0

Can someone walk me through my code? I thought it was all good. Thank you in advance!

app.js
const phoneNumbers = ["(503) 123-4567", "(646) 123-4567", "(503) 987-6543", "(503) 234-5678", "(212) 123-4567", "(416) 123-4567"];
let numberOf503;

// numberOf503 should be: 3
// Write your code below

numberOf503 = phoneNumbers.reduce((count, phoneNumber) => {
 if (phoneNumber[0] == '503') {
   return count + 1; 
 }
  return count;
}, 0);

console.log(numberOf503);

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Brian Johnson Hi there! I'm going to give you a hint here, because learning to debug is a crucial skill. If you console.log(phoneNumber[0]) you will see that what is returned is a single character: the (. And an open parenthesis will never be equal to "503" :smiley:

Now, you could do a couple of things here. You could use a regular expression to grab the number between parentheses, but of course, this requires that you're familiar with that method. Alternatively, you could use the substring method.

You can find the documentation on substring here.

Hope this helps! :sparkles:

Thanks Jennifer! I appreciate you not giving me the answer but helping me to figure it out. :) The substring method worked.