Collection in JS
by Ivan Gerasimenko
JavaScript
console.clear();
var log = function(msg) { console.log(msg); }
function Dictionary() {
var buf = {};
return {
add: function(name, value) {
buf[name] = value;
},
remove: function(name) {
delete buf[name];
},
getItemValue: function(name) {
return buf[name];
},
getString: function() {
var result = '';
for(var prop in buf) {
result += prop + ": " + buf[prop] + "; ";
}
return result;
},
count: function() {
var i = 0;
for (var prop in buf) {
i++;
}
return i;
},
forEach: function(action) {
for (var prop in buf) {
buf[prop] = action(buf[prop]);
}
}
}
}
var dict = Dictionary();
dict.add('Pit', 'split');
dict.add('Mol', 5);
dict.add('Fin', 7);
log( dict.getString() );
log( 'count = ' + dict.count() );
log('\nRemove an existing element');
dict.remove('Mol');
log( dict.getString() );
log( 'count = ' + dict.count() );
log('\nRemove not existing element');
dict.remove('Mol');
log( dict.getString() );
log( 'count = ' + dict.count() );
log( '\nPit = ' + dict.getItemValue('Pit') );
dict.forEach(function(elem) { return elem + '+a' });
log( '\n' + dict.getString() );