« [Challenge] Week 2/28/05: Getting form and field names (answer) | Main | [Tip] JProgressBar bean »
March 06, 2005
[Challenge] Week 3/7/05: Code Contortions
by David Workman
Data Mosaic
How good are your code reading skills? Below I have listed five methods. The task is for you to group together the methods that accomplish the same function. Umm...did I slip in a trick method? I wouldn't do that....
FYI: you may want to hit the print button at the bottom of the post to get a page that formats the code at a larger size. Have fun!
Method 1
elements.fld_city.fgcolor = globals.fgcolor;
elements.fld_city.bgcolor = globals.bgcolor;
elements.fld_companyname.fgcolor = globals.fgcolor;
elements.fld_companyname.bgcolor = globals.bgcolor;
elements.fld_contactname.fgcolor = globals.fgcolor;
elements.fld_contactname.bgcolor = globals.bgcolor;
elements.fld_contacttitle.fgcolor = globals.fgcolor;
elements.fld_contacttitle.bgcolor = globals.bgcolor;
elements.fld_country.fgcolor = globals.fgcolor;
elements.fld_country.bgcolor = globals.bgcolor;
elements.fld_dateee.fgcolor = globals.fgcolor;
elements.fld_dateee.bgcolor = globals.bgcolor;
elements.fld_ddd.fgcolor = globals.fgcolor;
elements.fld_ddd.bgcolor = globals.bgcolor;
elements.fld_fax.fgcolor = globals.fgcolor;
elements.fld_fax.bgcolor = globals.bgcolor;
Method 2
var check;
for ( var i = 0 ; i < elements.length ; i++ )
{
check = elements[i].getName();
check = check.slice(0,3);
if (check == 'fld')
{
elements[i].fgcolor = globals.fgcolor;
elements[i].bgcolor = globals.bgcolor;
}
}
Method 3
for (var i in elements)
{
if (elements[i].getName().slice(0,3) == 'fld')
{
elements[i].fgcolor = globals.fgcolor;
elements[i].bgcolor = globals.bgcolor;
}
}
Method 4
for (var i in elements)
{
if (elements[i].getName().slice(0,3) == 'fld')
{
for (var k in elements[i])
{
switch(k)
{
case 'fgcolor': elements[i][k] = globals.fgcolor; break;
case 'bgcolor': elements[i][k] = globals.bgcolor; break;
}
}
}
}
Method 5
var propertyARY = new Array("fgcolor", "bgcolor");
var valueARY = new Array(globals.fgcolor, globals.bgcolor);
var elementOBJ = new Object;
for ( var i = 0 ; i < propertyARY.length ; i++ )
{
elementOBJ[propertyARY[i]] = valueARY[i];
}
for (var i in elements)
{
if (elements[i].getName().slice(0,3) == 'fld')
{
for (var k in elementOBJ)
{
elements[i][k] = elementOBJ[k];
}
}
}
| Posted by David Workman on March 6, 2005 at 07:50 PM in Challenge | Permalink
TrackBack
TrackBack URL for this entry:
http://www.typepad.com/t/trackback/118167/1971210
Listed below are links to weblogs that reference [Challenge] Week 3/7/05: Code Contortions: