Created
October 12, 2018 08:49
-
-
Save bishoplee/1ea41fa6f7f86e5d732d01a83096d4c6 to your computer and use it in GitHub Desktop.
Array Algo Challenge Main
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ARRAY 1 | |
const texasss = [ | |
{ | |
name: 'Mike', | |
age: 23, | |
gender: 'm', | |
us: false, | |
}, | |
{ | |
name: 'Liz', | |
age: 20, | |
gender: 'f', | |
us: true, | |
}, | |
{ | |
name: 'Chris', | |
age: 102, | |
gender: 'm', | |
us: true, | |
}, | |
{ | |
name: 'Chuloo', | |
age: 27, | |
gender: 'm', | |
us: false, | |
}, | |
{ | |
name: 'Annie', | |
age: 30, | |
gender: 'f', | |
us: true, | |
}, | |
] | |
// Part 1 - Find all users older than 24 | |
const users24 = texasss.filter((val)=>{ | |
return val.age > 24 | |
}) | |
console.log(users24) | |
// Part 2 - Find the total age of all users | |
const totalAge = texasss.map((user)=> user.age).reduce((prev, next)=> prev + next) | |
console.log(totalAge) | |
// Part 3 - List all users in the US | |
const usersUS = texasss.filter(user => { | |
return user.us == true; | |
}) | |
console.log(usersUS) | |
// ARRAY 2 | |
const newieyork = [ | |
{ | |
name: 'Michelle', | |
age: 65, | |
coder:true, | |
gender: 'f', | |
us: true, | |
}, | |
{ | |
name: 'Sam', | |
age: 25, | |
coder:false, | |
gender: 'm', | |
us: false, | |
}, | |
{ | |
name: 'Ivy', | |
age: 26, | |
coder:true, | |
gender: 'f', | |
us: false, | |
}, | |
{ | |
name: 'Nick', | |
age: 32, | |
coder:true, | |
gender: 'm', | |
us: true, | |
}, | |
{ | |
name: 'Jim', | |
age: 17, | |
coder:false, | |
gender: 'm', | |
us: true, | |
}, | |
] | |
// Part 1 - List all users in US in ascending order | |
const sortedUS = newieyork | |
sortedUS.sort((a, b) => { | |
const x = a.name.toLowerCase() | |
const y = b.name.toLowerCase() | |
return x < y ? -1 : 1 | |
}) | |
console.log(sortedUS) | |
// Part 2 - Sort all users by age | |
const sortedAge = newieyork | |
sortedAge.sort((a, b) => { | |
return a.age - b.age | |
}) | |
console.log(sortedAge) | |
// Part 3 - List all female coders | |
const femaleCoders = newieyork.filter(val=>{ | |
return val.gender == 'f' | |
}) | |
console.log(femaleCoders) | |
// ARRAY 3 | |
const vegzas = [ | |
{ | |
name: 'Charly', | |
age: 22, | |
coder:true, | |
gender: 'm', | |
}, | |
{ | |
name: 'Law', | |
age: 21, | |
coder:true, | |
gender: 'm', | |
}, | |
{ | |
name: 'Rosey', | |
age: 42, | |
coder:false, | |
gender: 'f', | |
}, | |
{ | |
name: 'Steph', | |
age: 18, | |
coder:true, | |
gender:'f' | |
}, | |
{ | |
name: 'Jon', | |
age: 47, | |
coder:false, | |
gender: 'm', | |
}, | |
] | |
// Part 1 - Find the total age of male coders under 25 | |
const maleCodersAge = vegzas | |
.filter(val => val.gender == 'm' && val.age < 25) | |
.map(male => male.age) | |
.reduce((prev, next)=> prev + next) | |
console.log(maleCodersAge) | |
// Part 2 - List all male coders over 30 | |
const maleCodersOver30 = vegzas.filter(val => { | |
return val.age > 30 && val.gender == 'm' | |
}) | |
console.log(maleCodersOver30) | |
// Part 3 - Find the total age of everyone in texasss, newieyork and vegzas combined. | |
const totalAges = [] | |
texasss.map(val => totalAges.push(val.age)) | |
newieyork.map(val => totalAges.push(val.age)) | |
vegzas.map(val => totalAges.push(val.age)) | |
const ageSum = totalAges.reduce((prev, next)=> prev + next) | |
console.log(ageSum) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment