Function HashMap ()
{
// Members
This. keyArray = new Array (); // Keys
This. valArray = new Array (); // Values
// Methods
This. put = put;
This. get = get;
This. size = size;
This. clear = clear;
This. keySet = keySet;
This. valSet = valSet;
This. showMe = showMe; // returns a string with all keys and values in map.
This. findIt = findIt;
This. remove = remove;
}
Function put (key, val)
{
Var elementIndex = this. findIt (key );
If (elementIndex = (-1 ))
{
This. keyArray. push (key );
This. valArray. push (val );
}
Else
{
This. valArray [elementIndex] = val;
}
}
Function get (key)
{
Var result = null;
Var elementIndex = this. findIt (key );
If (elementIndex! = (-1 ))
{
Result = this. valArray [elementIndex];
}
Return result;
}
Function remove (key)
{
Var result = null;
Var elementIndex = this. findIt (key );
If (elementIndex! = (-1 ))
{
This. keyArray = this. keyArray. removeAt (elementIndex );
This. valArray = this. valArray. removeAt (elementIndex );
}
Return;
}
Function size ()
{
Return (this. keyArray. length );
}
Function clear ()
{
For (var I = 0; I <this. keyArray. length; I ++)
{
This. keyArray. pop (); this. valArray. pop ();
}
}
Function keySet ()
{
Return (this. keyArray );
}
Function valSet ()
{
Return (this. valArray );
}
Function showMe ()
{
Var result = "";
For (var I = 0; I <this. keyArray. length; I ++)
{
Result + = "Key:" + this. keyArray [I] + "\ tValues:" + this. valArray [I] + "\ n ";
}
Return result;
}
Function findIt (key)
{
Var result = (-1 );
For (var I = 0; I <this. keyArray. length; I ++)
{
If (this. keyArray [I] = key)
{
Result = I;
Break;
}
}
Return result;
}
Function removeAt (index)
{
Var part1 = this. slice (0, index );
Var part2 = this. slice (index + 1 );
Return (part1.concat (part2 ));
}
Array. prototype. removeAt = removeAt;
Author: a farmer