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 trialMuaaz Matwadia
Full Stack JavaScript Techdegree Graduate 19,327 Points.reduce
How do I complete this challenge.Thanks
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( (acc, number)=> {
if(number === subString(503){
return number;
}0
})
1 Answer
Jeff Muday
Treehouse Moderator 28,722 PointsYou're pretty close to an answer, lets work on that!
You had a little difficulty with syntax. I'll explain as we go along.
The example tests whether you can do counting of the string '(503)'. And, we are going to test each number. You could have easily used a regex, but I will use a SLICE of the array since you would know this.
This answer is a little verbose, but should illustrate the example.
numberOf503 = phoneNumbers.reduce( (acc, number) => {
// here's where we look for (503)
if ( number.slice(0,5) === '(503)' ) {
return acc + 1; // we found a 503, increment the acc.
} else {
return acc; //we did not find a 503, skip incrementing
}
}, 0); // make sure to use an initial value of acc = 0