Given an array of objects representing people with a birth and death year, return the oldest person.
This commit is contained in:
parent
97980c9e3f
commit
bea7415d00
|
@ -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;
|
||||||
|
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in New Issue