Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. const filterAndGroup = (collection, min, max) => {
  2. return collection
  3. .filter(item => item.age >= min && item.age <= max)
  4. .reduce(
  5. (acc, { age, name, gender }) => ({
  6. ...acc,
  7. [gender]: [...acc[gender], { age, name }]
  8. }),
  9. { male: [], female: [] }
  10. );
  11. };
  12.  
  13. // Sample data and usage example
  14. const data = [
  15. {age: 31, name: 'Jennifer', gender: 'female'},
  16. {age: 42, name: 'Max', gender: 'male'},
  17. {age: 15, name: 'Amy', gender: 'female'},
  18. {age: 18, name: 'Lucy', gender: 'female'},
  19. {age: 37, name: 'Carl', gender: 'male'},
  20. {age: 32, name: 'Susanne', gender: 'female'},
  21. ];
  22.  
  23. filterAndGroup(data);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement