- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
Map = function() {
this._entries = new Array();
}
Map.prototype.containsKey = function(key) {
return this.getEntry(key)!=null;
}
Map.prototype.get = function(key) {
var entry = this.getEntry(key);
return entry!=null ? entry.value : null;
}
Map.prototype.put = function(key, value) {
var entry = this.getEntry(key);
if (entry!=null) {
entry.value = value;
} else {
entry = new Map.Entry(key, value);
this._entries[this._entries.length] = entry;
}
}
Map.prototype.size = function() {
return this._entries.length;
}
Map.prototype.getEntry = function(key) {
for (var i=0; i<this._entries.length; i++) {
if (this._entries[i].key==key)
return this._entries[i];
}
return null;
}
Map.prototype.entries = function() {
return this._entries;
}
Map.prototype.keys = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].key;
}
return result;
}
Map.prototype.values = function() {
var result = new Array();
for (var i=0; i<this._entries.length; i++) {
result[result.length] = this._entries[i].value;
}
return result;
}
Map.prototype.addAll = function(map) {
if (map==null)
return;
var oe = map.entries();
for (var i=0; i<oe.length; i++) {
this.put(oe[i].key, oe[i].value);
}
}
Map.prototype.toString = function() {
return "[Map{size:"+this._entries.length+", entries:"+this._entries+"}]";
}
Map.Entry = function(key, value) {
if (arguments.length==0)
return;
this.key = key;
this.value = value;
}
Map.Entry.prototype.toString = function() {
return "[Entry{key:"+this.key+", value:"+this.value+"}]";
}
То что любой объект и так работает как Map автор видимо не знал.
Можно было бы предположить, что автор это знал, но написал этот Map для того чтобы использовать произвольные объекты как ключи, однако во всех обнаруженных использованиях этой Map ключами были строки.
Lure Of Chaos 17.07.2010 19:47 # 0
borka 18.07.2010 08:17 # 0
Lure Of Chaos 18.07.2010 11:18 # +5
Анонимус 17.07.2010 21:53 # +2
JavaScript был сделан, что бы навешивать алерты на онклики, и пытаться городить на нем collections framework -- глупо.
Один мой знакомый такое же проделал с PHP: у него был самописный класс Array, класс Hash и много всего прочего, хотя я ему и говорил что не надо на PHP таких слонов разрабатывать)
borka 18.07.2010 08:20 # 0
Lure Of Chaos 18.07.2010 11:28 # −1
Desktop 06.02.2023 20:50 # 0
guest6 06.02.2023 20:54 # 0
Совершенно верно: JS был сделан чтобы в window.statusbar писать "-=Xaker=-", о чем и было сказано выше. Такова его цель
Любую другую задачу на нем писать нег удобно
bormanb 06.02.2023 21:29 # 0
bormanb 06.02.2023 21:29 # 0
cepreu_monoJlb 06.02.2023 21:46 # 0
guest6_uebok 06.02.2023 22:33 # 0