Skip to content

Instantly share code, notes, and snippets.

@bishoplee
Created October 12, 2018 08:49
Show Gist options
  • Save bishoplee/1ea41fa6f7f86e5d732d01a83096d4c6 to your computer and use it in GitHub Desktop.
Save bishoplee/1ea41fa6f7f86e5d732d01a83096d4c6 to your computer and use it in GitHub Desktop.
Array Algo Challenge Main
// 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