getTime ale daje ona wyniki bez sensu. Data 02/02/2005 zwraca więcej ms niz 02/02/2000
getTime działa prawidłowo, ponieważ zwraca ilość milisekund jakie "upłynęły" od 01.01.1970 roku (ECMAScript epoch) do podanej daty. Czyli osoba z teoretycznie "mniejszą" datą ma wartość w milisekundach większą, bo data tej osoby jest bardziej "oddalona" od ECMAScript epoch. Potrzebujesz "odwrócić" sytuację i pobrać dodatkowo wartość "graniczą" z np.: Date.now().
To jest to co zrobiłeś w zadaniu 1
var upływCzasu = ileteraz-ileurodzenie;
przykład
function zadanie2()
{
// var data1 = (new Date(prompt('Podaj pierwszą date urodzenia mm/dd/yyyy'))).getTime();
// var data2 = (new Date(prompt('Podaj drugą date urodzenia mm/dd/yyyy'))).getTime();
const test = [
{ 'osoba1':'02/02/2000', 'osoba2':'02/02/2005' },
{ 'osoba1':'02/02/2005', 'osoba2':'02/02/2000' },
{ 'osoba1':'02/02/2005', 'osoba2':'02/02/2005' }
];
for (let row of test) {
const data1 = Date.now() - (new Date(row.osoba1)).getTime(),
data2 = Date.now() - (new Date(row.osoba2)).getTime();
console.log(data1, data2);
if (data1 == data2)
alert("Osoby są w tym samym wieku");
else
alert(((data1 > data2) ? 'Pierwsza' : 'Druga') + ' osoba jest starsza');
}
}