A combination of Map and Array, with order of keys maintained.
npm install associative-arrayA combination of Map and Array that maintains key ordering.
``javascript
var AssociativeArray = require('associative-array');
var arr = new AssociativeArray();
arr.push('key', {value: 'value'});
arr.push('key2', {value: 'value2'});
arr.push('key3', {value: 'value3'});
arr.has('key'); //true
arr.has('beans'); //false
arr.length; //3
arr.push('key3', {value: 'value3 again'});
arr.length; //3
arr.map(function(val, idx, key) {
return idx + ':' + val.value + ':' key;
}); //['0:value:key', '1:value2:key2', '2:value3:key3']
arr.remove('key2');
arr.map(function(val, idx, key) {
return idx + ':' + val.value + ':' key;
}); //['0:value:key', '1:value3:key3']
`
Construct a new AssociativeArray.
* size int - the initial size of the underlying Array.
The number of items currently stored in the AssociativeArray.
Push a new key, value pair onto the AssociativeArray. Will not affect the AssociativeArray if key is already in it.
* key mixed - the key to associate with value. Can be any key supported by Map.value
* mixed - the value to store
* returns this
Pop the last value off of the AssociativeArray.
* returns mixed - the removed last value.
Check whether the AssociativeArray contains key.
* key mixed - the key to look for
* returns boolean
Get the value associated with key.
* key mixed - the key to look for
* returns mixed
Get the value stored at index.
* index int - the index to look up
* returns mixed
Get the first value.
* returns mixed
Get the last value.
* returns mixed
Set a key, value pair at a particular index in the AssociativeArray.key
Replaces any value that previously occupied that index.
If is already present in the AssociativeArray, value will replace the old value if index matches the current index of key, or if index is not supplied.set()
Otherwise, will not affect the AssociativeArray if key is already in it.index
Omitting makes this equivalent to AssociativeArray.push(key, value) when key is not already present in the AssociativeArray.
* key mixed - the key to associate with value. Can be any key supported by Map.value
* mixed - the value to storeindex
* int - the index to store value at
* returns this
Clear all values from the AssociativeArray.
* returns this
Iterate over the values in the AssociativeArray.
* fn function - the callback to execute with each value, index, and key. If fn returns false, the loop will be broken.
* returns this
Map the values in the AssociativeArray to a plain Array.
* fn function - the callback to execute with each value, index, and key.
* returns array
Return a plain Array of values in the AssociativeArray which pass the fn test.
* fn function - the callback to test each value with. Should return boolean.
* returns array
Remove the value associated with key from the AssociativeArray.
* key` mixed - the key to look for
* returns mixed - the removed value