spacer

Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com

home / experts / javascript / column57


The Doc Dialer

Developer News
News Flash: Adobe Has iPhone Workaround
Adobe's Flash 10.1 Goes Mobile (Minus iPhone)
A Salute to Visionary CEOs

The Global Arrays

There are several global arrays we use in our DOCJS Trie Phone. Their size is determined by the global variable EMPMAX:

EMPMAX = 100;

The first array, empList, holds the president names:

var empList = new Array(EMPMAX);
empList[1] = "Ronald Reagan"; //76 //73
empList[2] = "Jimmy Carter";  //54 //22
empList[3] = "Richard Nixon"; //74  //6
empList[4] = "Bill Clinton";  //24  //25
empList[5] = "Gerald Ford";   //437  //3
empList[6] = "George Bush";   //436  //28
empList[7] = "Lyndon Johnson"; //59  //56467
empList[8] = "John Kennedy";  //56465  ///53

The comments on the right hand side of the names show the trie indexing for the first name + last name and for the last name + first name indexing. Bill Clinton, for example, is indexed on 24 by BillClinton, and on 25 by ClintonBill. When we store the presidents on the trie data structure, we use their index in this empList array. The assignment mentioned in the previous page:

tree[7][4] = 3; // Richard Nixon 

refers to Richard Nixon's position in the empList array (3). The second global array, empPhone, holds a four-digit extension numbers. These can be, for example, internal extensions in a company phone system, or entries to an Internet-based data base as is the case we though about in our DOCJS Trie Phone. Here are the extension:

var empPhone = new Array(EMPMAX);
empPhone[1] = 5808;
empPhone[2] = 5919;
empPhone[3] = 5303;
empPhone[4] = 5606;
empPhone[5] = 5707;
empPhone[6] = 5313;
empPhone[7] = 5838;
empPhone[8] = 5006;

The currentTrie variable points to the current trie position. For each phone key clicked, we need to step down one level of hierarchy. Therefore, we need to remember the array element that we are currently standing on. We initialized this variable to start at the root of the trie, the top-level array object:

var currentTrie = tree;

Since our DOCJS Trie Phone works with both first name + last name as well as last name + first name, we need to avoid duplication of matches. For example, we don't want to display Ronald Reagan twice when the user presses the 7 key. The printList array takes care of it. It is also initialized to have a size of EMPMAX. We assign a false value to all array elements before we start descending the trie, and we switch on every name that needs to be displayed. Before letting the user key in his or her name, we clear the array:

clearDisplayIndex();

The last global variable is welcomeStr. It is the message we print to the display after every match:

var welcomeStr = "Welcome to DOCJS Trie Phone. 
Please key in a president name:";

Finally, we print it to the display:

outputStringToDisplay(welcomeStr);

http://www.internet.com

Produced by Yehuda Shiran and Tomer Shiran

internet.commediabistro.comJusttechjobs.comGraphics.com

Search:

WebMediaBrands Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Shopping | E-mail Offers | Freelance Jobs

webref The latest from WebReference.com Browse >
Building a Banking Application Home Page with OOP · Mixing Scripting Languages · Review: phpFox, a Social Networking CMS with all the Bells and Whistles
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Enterprise 2.0: Social Networking in the Cloud · BroadSoft Marketplace Hastens Pace of Telephony Innovation · Review: HTC Hero for Sprint


Created: February 14, 2000
Revised: February 14, 2000

URL: http://www.webreference.com/js/column57/4.html