jaylist
a simple wrapper for javascript's built-in hash storage. Much of the functionality was inspired by Python's dictionary.
demo
// let's create a list
var jaylist = list();
// and add some items
jaylist.add("here", "strings");
jaylist.add("there", 1638423);
jaylist.add("these", [1,2,3,4,5]);
// let's view the keys in the list
// -> ["here", "there", "these"]
jaylist.keys();
// let's view the values in the list
// -> ["strings", 1638423]
jaylist.values();
// let's remove an item
jaylist.remove("here");
// trying to retrieve an item that doesn't exist yields undefined
// -> undefined
jaylist.get("here");
// -> 1638423
jaylist.get("there");
// deep copy a list
var beelist = jaylist.copy();
// list equality
// -> true
jaylist.isEqual(beelist);
// empty a list
jaylist.clear();
// iteration with a callback
beelist.each(function(key){console.log(key);});
// iteration with a loop
var item;
while (item = beelist.next()) {
console.log(item);
}
// update a list with the contents of another
jaylist.update(beelist);
Functions:
Create the list:
var jaylist = list();
Add a value to the list:
add(key, value)
--Insert an object into the list, overwriting any value already assigned to the key. Returns the value upon successful addition.
jaylist.add("key", value);
Get the value from the list:
get(key)
--Returns the value associated with key, undefined if the key has not been entered into the list.
var val = jaylist.get("key");
Remove the value from the list:
remove(key)
--Removes the object from the list. Returns undefined if no value is assigned to the key. Upon successful removal, it returns the value removed. A list or array of keys may also be passed.
jaylist.remove("key");
Get the keys in the list:
keys()
--Returns an array of the keys in the list.
var keys = jaylist.keys();
Get the values in the list:
values()
--Returns an array of the values in the list.
var values = jaylist.values();
Get the items in the list:
items()
--Returns an array of key-value pairs. [[key, value]]
var items = jaylist.items();
Get the length of the list:
len()
--Returns the number of elements in the list, 0 when empty.
var len = jaylist.len();
Clear the list:
clear()
--Removes all the items from the list.
jaylist.clear();
Check if the list contains the key:
hasKey(key)
-- Returns true if the list contains the key and false otherwise.
jaylist.hasKey(key);
Update a list with another list:
update(list)
-- Adds the entries of the input list to the list.
jaylist.update(somelist);
Deep copy a list:
copy()
-- Returns a deep copy of the list.
var newlist = jaylist.copy();
Iterate through a list:
each(callback)
-- Iterates through each entry in the list, calling callback with parameter key for each value.
jaylist.each(function(key){somefunction(key);});
Iterate through a list:
next()
-- Iterates through each entry in the list, returning a key on each call. When the iteration is complete, next() returns undefined & the iteration can begin again.
while(jaylist.next()) {...}
Return an object representation of the list:
object()
-- Returns the list as an object of key-value pairs.
var obj = jaylist.object();
Check if two lists are equal:
isEqual(list)
-- Returns true if the lists are equivalent and false otherwise.
jaylist.isEqual(alist);