Cześć, jest to mój pierwszy post więc bardzo serdecznie was witam :)
Uczę się programowania w javasript z http://shebang.pl/kursy/wszystko-jasne/ i mam pewną rozbieżność z kursem. Najdziwniejsze jest, że zarówno w przykładzie z kursu i przykładzie zrobionym po mojemu wszystko działa prawidłowo. Chcę zrozumieć dlaczego.
Ćwiczenie 4.6
"odeszli 27.04.2006: Black Leclère"
Data zawsze znajduje się w tym samym miejscu akapitu. Jak fajnie. Napisz funkcję o nazwie extractDate pobierającą taki akapit jako argument i wydobywającą z niego datę oraz zwracającą ją w obiekcie daty.
Odpowiedź brzmi:
function extractDate(paragraph) {
function numberAt(start, length) {
return Number(paragraph.slice(start, start + length));
}
return new Date(numberAt(14, 4), numberAt(11, 2) - 1,
numberAt(8, 2));
}
show(extractDate("odeszli 27-04-2006: Black Leclère"));
Zanim ją zobaczyłem rozwiązałem zadanie po swojemu:
function extractDate(akapit) {
return new Date(akapit.slice(8,18).split(".").reverse());
}
show(extractDate("odeszli 27.04.2006: Black Leclère"));
Działa? Działa. Po wszystkim przeczytałem, że oczywiście zapomniałem iż funkcja Date() liczy miesiące od 0, a nie 1. No, ale sprawdzam i mój kod działa prawidłowo. Dlaczego?