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

Ceil-Ian Maralit
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Ceil-Ian Maralit
Front End Web Development Techdegree Graduate 19,434 Points

reduce problems

I don't really know how to access those values in an array, what I only know is how to access it individually, which is a problem to me now. Would someone please elaborate it to me? It would be much appreciated. Thank you!!

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

1 Answer

I think there are many ways to complete this challenge, reduce can also be a bit confusing to understand. We need to set a sum variable which we start at 0 and then loop through the tel number array. if we get a tel number that starts with 503 we increase the sum by 1, in the end we return the sum. Its a useful helper function for going through a lot of data in an array and keeping tally of something or returning a sum ect

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, telNumberString) => {
    if (telNumberString.slice(1, 4) === "503") {
    total++;
  }
  return total;
}, 0);
// numberOf503 should be: 3
// Write your code below
Ceil-Ian Maralit
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Ceil-Ian Maralit
Front End Web Development Techdegree Graduate 19,434 Points

Oh thank you so much for explaining it to me. I actually solved it after you showed me the slice method earlier. Yes, it's a bit confusing at first, I agree. Thanks a lot!