Päivämäärän osien sanallinen tulostus JavaScriptissä
Osaat jo tulostaa viikonpäivän numerona
käyttämällä metodia getDay. Usein
kuitenkin tarvitsemme ei viikonpäivän numeroa, vaan
sanallisen nimen. Kirjoitetaan koodi,
joka muuntaa getDay-metodin palauttamat
luvut vastaaviin viikonpäivien nimiin.
Aluksi kirjoitetaan koodi, joka tulostaa nykyisen viikonpäivän numeron:
let date = new Date();
let day = date.getDay();
console.log(day);
Ja nyt kehitämme tätä koodia niin, että
näytölle tulostuu ei viikonpäivän numero, vaan sen
nimi (lyhyyden vuoksi sunnuntai on
'su', maanantai 'ma' ja niin edelleen).
Ongelman ratkaisemiseksi luomme viikonpäivien taulukon
days ja aloitamme sen sunnuntaista (koska
se on nollas päivä):
let days = ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'];
Miten tämän taulukon avulla tulostaa näytölle
esimerkiksi 'ti'? Täytyy antaa
hakasulkeissa kyseisen päivän numero (tiistai
on numero 2):
let days = ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'];
console.log(days[2]); // tulostaa 'ti'
Emme kuitenkaan halua antaa viikonpäivää
käsin, vaan haluamme, että JavaScript määrittää
nykyisen päivän automaattisesti ja tulostaa sen nimen. Tätä varten
täytyy yhdistää getDay-metodin palauttama arvo
ja taulukkomme days:
let date = new Date();
let day = date.getDay();
let days = ['su', 'ma', 'ti', 'ke', 'to', 'pe', 'la'];
console.log(days[day]);
Olkoon annettuna seuraava taulukko:
let months = [
'tammi', 'helmi', 'maalis', 'huhti', 'touko', 'kesä',
'heinä', 'elo', 'syys', 'loka', 'marras', 'joulu'
];
Tulosta tämän taulukon avulla nykyisen kuukauden nimi.