Given an array of objects representing people with a birth and death year, return the oldest person.

This commit is contained in:
Akutsang 2023-02-03 23:47:51 +01:00
parent 97980c9e3f
commit bea7415d00
2 changed files with 31 additions and 4 deletions

View File

@ -1,6 +1,33 @@
const findTheOldest = function(){ const findTheOldest = function(){
const people = [
{
name: "Carly",
yearOfBirth: 1942,
yearOfDeath: 1970,
},
{
name: "Ray",
yearOfBirth: 1962,
yearOfDeath: 2011,
},
{
name: "Jane",
yearOfBirth: 1912,
yearOfDeath: 1941,
},
]
const age = (x) => (x.yearOfDeath || new Date().getFullYear()) - x.yearOfBirth;
const oldest = people.sort((a, b) =>
age(a) > age(b) ? -1 : 1
);
return oldest[0];
}
};
// Do not edit below this line // Do not edit below this line
module.exports = findTheOldest; module.exports = findTheOldest;

View File

@ -21,7 +21,7 @@ describe('findTheOldest', () => {
] ]
expect(findTheOldest(people).name).toBe('Ray'); expect(findTheOldest(people).name).toBe('Ray');
}); });
test.skip('finds the oldest person if someone is still living', () => { test('finds the oldest person if someone is still living', () => {
const people = [ const people = [
{ {
name: "Carly", name: "Carly",
@ -40,7 +40,7 @@ describe('findTheOldest', () => {
] ]
expect(findTheOldest(people).name).toBe('Ray'); expect(findTheOldest(people).name).toBe('Ray');
}); });
test.skip('finds the oldest person if the OLDEST is still living', () => { test('finds the oldest person if the OLDEST is still living', () => {
const people = [ const people = [
{ {
name: "Carly", name: "Carly",