var a = Array;
a.prototype = {lol:1};
a = new a();
//получилось a instanceof Array = true, хотя так быть не должно.....
//получилось a instanceof Array = true, хотя так быть не должно.....
var HashMap = function() {
var obj = [];
obj.size = function () {
return this.length;
};
obj.isEmpty = function () {
return this.length === 0;
};
obj.containsValue = function (value) {
for (var i = 0; i < this.length; i++) {
if (this[i].value === value) {
return true;
}
}
return false;
};
obj.getIndexKey = function (key) {
for (var i = 0; i < this.length; i++) {
if (this[i].key === key) {
return i;
}
}
return -1;
};
obj.values = function () {
var values = [];
for (var i = 0; i < this.length; i++) {
values.push(this[i].value);
}
return values;
};
obj.keySet = function () {
var keys = [];
for (var i = 0; i < this.length; i++) {
keys.push(this[i].key);
}
return keys;
};
obj.containsKey = function (key) {
for (var i = 0; i < this.length; i++) {
if (this[i].key === key) {
return true;
}
}
return false;
};
obj.get = function (key) {
var index = this.getIndexKey(key);
if (index > -1) {
return this[index].value;
}
return null;
};
obj.put = function (key, value) {
var i = this.getIndexKey(key);
if ( i !== -1) {
var prevValue = this[i].value;
this[i] = {'key': key, 'value': value};
return prevValue;
}
this.push({'key': key, 'value': value});
return null;
};
obj.clear = function () {
this.splice(0, this.length);
};
return obj;
}
var tetst = new HashMap();