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()

Can anyone find my errors because I can't do that

phoneNumbers is array of 10 digit phone numbers, where the first three digits, in parentheses, are area codes. Using reduce, return the total phone numbers with a 503 area code. Store the total in the variable numberOf503.

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 = numberOf503.reduce((count, number) => {
if(number[0] === '503'){
return count;
}
}, 0);

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

2 Answers

Adam Beer
Adam Beer
11,314 Points

number[0] will search for the first character only. I used .slice() method, but you can use .startsWith() method or .substring() method. There are many ways :) Hope this help!

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


numberOf503 = phoneNumbers.reduce((total, phoneNumberString) => {
    if (phoneNumberString.slice(1, 4) === "503") {
    total++;
  }
  return total;
}, 0);

what does 1 and 4 mean here in if (phoneNumberString.slice(1, 4)

Adam Beer
Adam Beer
11,314 Points

You choose, what's inside the two numbers, so now this equal to '503'. Zero character is the "(". Fourth character is the ")". Inside the two characters you find the "503". When you write the last number, always add one. Hope this help.

String.prototype.slice()