done find the oldest exercise
This commit is contained in:
parent
bccd35b40d
commit
9774d20102
|
@ -1,5 +1,52 @@
|
||||||
let findTheOldest = function() {
|
let findTheOldest = function(people) {
|
||||||
|
let userData = [];
|
||||||
|
|
||||||
|
for (i = 0; i < people.length; i++) {
|
||||||
|
let date = new Date();
|
||||||
|
let aliveStatus = "alive";
|
||||||
|
let personAge;
|
||||||
|
|
||||||
|
// if alive check age (today - yearOfBirth)
|
||||||
|
// if not check age (yearOfDeath - yeahOfBirth)
|
||||||
|
if ("yearOfDeath" in people[i] === false) {
|
||||||
|
// aliveStatus = "alive";
|
||||||
|
console.log(date.getFullYear());
|
||||||
|
console.log(people[i].yearOfBirth);
|
||||||
|
personAge = Number(date.getFullYear()) - people[i].yearOfBirth;
|
||||||
|
console.log(personAge);
|
||||||
|
} else {
|
||||||
|
personAge = people[i].yearOfDeath - people[i].yearOfBirth;
|
||||||
|
aliveStatus = "dead";
|
||||||
|
}
|
||||||
|
let personObject = {
|
||||||
|
name: people[i].name,
|
||||||
|
age: personAge,
|
||||||
|
status: aliveStatus
|
||||||
|
};
|
||||||
|
|
||||||
|
userData.push(personObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(userData);
|
||||||
|
|
||||||
|
let oldestPersonName = userData[0].name;
|
||||||
|
|
||||||
|
for (i = 0; i < userData.length; i++) {
|
||||||
|
if (i === 0) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
if (userData[i].age > userData[i - 1].age) {
|
||||||
|
oldestPersonName = userData[i].name;
|
||||||
|
oldestPersonAge = userData[i].age;
|
||||||
|
console.log("current oldies : " + oldestPersonName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
personObject = { name: oldestPersonName, age: oldestPersonAge };
|
||||||
|
//console.log(personObject);
|
||||||
|
return personObject;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
module.exports = findTheOldest
|
module.exports = findTheOldest
|
||||||
|
|
|
@ -21,7 +21,7 @@ describe('findTheOldest', function() {
|
||||||
]
|
]
|
||||||
expect(findTheOldest(people).name).toEqual('Ray');
|
expect(findTheOldest(people).name).toEqual('Ray');
|
||||||
});
|
});
|
||||||
xit('finds the oldest person if someone is still living', function() {
|
it('finds the oldest person if someone is still living', function() {
|
||||||
const people = [
|
const people = [
|
||||||
{
|
{
|
||||||
name: 'Carly',
|
name: 'Carly',
|
||||||
|
@ -40,7 +40,7 @@ describe('findTheOldest', function() {
|
||||||
]
|
]
|
||||||
expect(findTheOldest(people).name).toEqual('Ray');
|
expect(findTheOldest(people).name).toEqual('Ray');
|
||||||
});
|
});
|
||||||
xit('finds the oldest person if the OLDEST is still living', function() {
|
it('finds the oldest person if the OLDEST is still living', function() {
|
||||||
const people = [
|
const people = [
|
||||||
{
|
{
|
||||||
name: 'Carly',
|
name: 'Carly',
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>Document</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<script src="test.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,68 @@
|
||||||
|
function findTheOldest (people) {
|
||||||
|
// console.log(people);
|
||||||
|
let userData = [];
|
||||||
|
|
||||||
|
for (i = 0; i < people.length; i++) {
|
||||||
|
|
||||||
|
let date = new Date();
|
||||||
|
let aliveStatus = "alive";
|
||||||
|
let personAge;
|
||||||
|
|
||||||
|
// if alive check age (today - yearOfBirth)
|
||||||
|
// if not check age (yearOfDeath - yeahOfBirth)
|
||||||
|
if ('yearOfDeath' in people[i] === false) {
|
||||||
|
// aliveStatus = "alive";
|
||||||
|
console.log(date.getFullYear());
|
||||||
|
console.log(people[i].yearOfBirth);
|
||||||
|
personAge = Number(date.getFullYear()) - people[i].yearOfBirth;
|
||||||
|
console.log(personAge);
|
||||||
|
} else {
|
||||||
|
personAge = people[i].yearOfDeath - people[i].yearOfBirth;
|
||||||
|
aliveStatus = "dead"
|
||||||
|
}
|
||||||
|
|
||||||
|
let personObject = { name: people[i].name, age: personAge, status: aliveStatus };
|
||||||
|
|
||||||
|
userData.push(personObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(userData);
|
||||||
|
let luckyPerson = calculateAge(userData);
|
||||||
|
console.log(luckyPerson);
|
||||||
|
}
|
||||||
|
|
||||||
|
function calculateAge(userData) {
|
||||||
|
|
||||||
|
let oldestPersonName = userData[0].name;
|
||||||
|
// let oldestPersonAge = userData[0].age;
|
||||||
|
|
||||||
|
for (i = 0; i < userData.length; i++) {
|
||||||
|
if (i === 0) { continue; }
|
||||||
|
else {
|
||||||
|
if (userData[i].age > userData[i-1].age ) {
|
||||||
|
oldestPersonName = userData[i].name;
|
||||||
|
console.log("current oldies : " + oldestPersonName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oldestPersonName;
|
||||||
|
}
|
||||||
|
|
||||||
|
const people = [
|
||||||
|
{
|
||||||
|
name: "Carly",
|
||||||
|
yearOfBirth: 2018
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Ray",
|
||||||
|
yearOfBirth: 1962,
|
||||||
|
yearOfDeath: 2011
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Jane",
|
||||||
|
yearOfBirth: 1912,
|
||||||
|
yearOfDeath: 1941
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
findTheOldest(people);
|
Loading…
Reference in New Issue