|
|
|
Example: Writing out the current date and time using dense arrays
A dense array excels over a normal one when it comes to
initializing a rather large array with values upon declaration. In this
section, we'll create a script that writes out the current date and time, in
the following format:
Tuesday, July 28, 2005
The obvious task at hand is to first declare a series of
variables that store the text "Monday", "Tuesday" etc and "January",
"February", etc, since JavaScript is not human, and does not by default
understand our calendar system. The remaining work is to match these text
with the current date, and write it out.
The tedious part is the definition of these text, and the perfect job for
arrays to handle- dense arrays, to be precise:
var dayarray=new Array("Sunday","Monday","Tuesday", "Wednesday","Thursday","Friday","Saturday")
var montharray=new Array("January","February","March","April","May",
"June","July","August","September","October","November","December")
The above code not only efficiently stores the text for the days of
the week and months into two arrays, but allows us to
directly use the JavaScript prebuilt functions date.getDay() and
date.getMonth() as the index to reference the current date as represented by
text, and write them out. Let's see just how this is done. The below shows
the complete code that outputs the current date and time:
<script type="text/javascript">
var mydate=new Date()
var year=mydate.getFullYear()
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
//if the current date is less than 10, pad it.
if (daym<10)
daym="0"+daym
var dayarray=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
var montharray=new Array("January","February","March","April","May","June","July","August","September","October","November","December")
//write out the final results
document.write("<b>"+dayarray[day]+",
"+montharray[month]+" "+daym+",
"+year+"</b>")
</script>
A code that may take a full page to write now has been reduced to one
third, thanks to our buddy the dense array.
|