Udsendelse af datodele som ord i JavaScript
Du kan allerede udsende ugedagen som
tal ved hjælp af metoden getDay. Ofte
har vi dog ikke brug for ugedagens nummer, men
dens tekstmæssige navn. Lad os skrive kode,
som vil konvertere de tal, der returneres
af metoden getDay, til de tilsvarende
ugedagsnavne.
Til at starte med skal vi skrive kode, der udskriver nummeret for den aktuelle ugedag:
javascriptlet date = new Date();
let day = date.getDay();
console.log(day);
Og nu tilpasser vi denne kode, så den
udskriver ikke ugedagsnummeret, men dens
navn (for kortheds skyld vil søndag være
'sø', mandag 'ma' og så videre).
For at løse opgaven opretter vi en ugedagsarray
days og starter den med søndag (da
dette er nul-dagen):
javascriptlet days = ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'];
Hvordan kan vi med denne array udskrive,
for eksempel, 'ti'? Vi skal sende dagens nummer (tirsdag
har nummer 2) i de kantede parenteser:
javascriptlet days = ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'];
console.log(days[2]); // udskriver 'ti'
Dog vil vi ikke sende ugedagen
manuelt, men vil have, at JavaScript selv bestemmer
den aktuelle dag og udskriver dens navn. For at gøre dette
skal vi kombinere det, som metoden
getDay returnerer, og vores array days:
javascriptlet date = new Date();
let day = date.getDay();
let days = ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'];
console.log(days[day]);
Lad følgende array være givet:
javascriptlet months = [
'jan', 'feb', 'mar', 'apr', 'maj', 'jun',
'jul', 'aug', 'sep', 'okt', 'nov', 'dec'
];
Udsend med hjælp af denne array navnet på den aktuelle måned.