Skip to content

Instantly share code, notes, and snippets.

@fresh5447
Last active March 30, 2017 19:34
Show Gist options
  • Select an option

  • Save fresh5447/9d42948d54e2225db1f48c2a0da8efc6 to your computer and use it in GitHub Desktop.

Select an option

Save fresh5447/9d42948d54e2225db1f48c2a0da8efc6 to your computer and use it in GitHub Desktop.
Solutions for the bball questions
var bballPlayers = [
{ first: 'Carlos', last: 'Beltran', homeruns: 421, retired: false },
{ first: 'Ken', last: 'Griffey Jr', homeruns: 630, retired: true },
{ first: 'Hank', last: 'Aaron', homeruns: 755, retired: true },
{ first: 'Ediwn', last: 'Encarnacion', homeruns: 310, retired: false },
{ first: 'Alex', last: 'Rodriguez', homeruns: 696, retired: true },
{ first: 'Willie', last: 'Mays', homeruns: 660, retired: true },
{ first: 'Jim', last: 'Thome', homeruns: 612, retired: true },
{ first: 'Sammy', last: 'Sosa', homeruns: 609, retired: true },
{ first: 'Babe', last: 'Ruth', homeruns: 714, retired: true },
{ first: 'Albert', last: 'Pujols', homeruns: 591, retired: false },
{ first: 'Barry', last: 'Bonds', homeruns: 762, retired: true },
{ first: 'Miguel', last: 'Cabrera', homeruns: 446, retired: false },
{ first: 'Ryan', last: 'Howard', homeruns: 382, retired: false },
];
// Array.prototype.filter()
// 1. Filter the list of players who have more then 400, but less than 600 home runs
var playersAround5 = bballPlayers.filter(function(player){
return player.homeruns > 400 && player.homeruns < 600;
});
// console.log(playersAround5);
// Array.prototype.map()
// 2. Give us an array of the players' first name and home runs
var playersMap = bballPlayers.map(function(player){
return {name: player.first, runs: player.homeruns}
});
//console.log(playersMap);
// Array.prototype.sort()
// 3. Sort the players by homeruns, most to least
var playersSort = bballPlayers.sort(function(a, b){
return a.homeruns < b.homeruns ? 1 : -1
});
// console.log(playersSort);
// Array.prototype.reduce()
// 4. How many homeruns did all the players hit?
var playersReduce = bballPlayers.reduce((hrTotal, player) =>{
return hrTotal + (player.homeruns);
}, 0);
// console.log(playersReduce);
// 5. How many homeruns do the active players have
var playersFilterAndReduce = bballPlayers.filter(function(player){
return player.retired
}).reduce(function(hrTotal, player){
return hrTotal + (player.homeruns);
}, 0);
console.log(playersSortAndReduce);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment