1 2 3 4 5 6 7 8 9 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 79
| HashMap () { var size = 0 var entry = {}
this.put = function (key, value) { if (!this.containsKey(key)) { size++ } entry[key] = value }
this.get = function (key) { return this.containsKey(key) ? entry[key] : null }
this.remove = function (key) { if (this.containsKey(key) && (delete entry[key])) { size-- } }
this.containsKey = function (key) { return (key in entry) }
this.containsValue = function (value) { for (var prop in entry) { if (entry[prop] === value) { return true } } return false }
this.values = function () { var values = [] for (var prop in entry) { values.push(entry[prop]) } return values }
this.keys = function () { var keys = [] for (var prop in entry) { keys.push(prop) } return keys }
this.size = function () { return size }
this.clear = function () { size = 0 entry = {} } this.getKeyByValue = function (value) { for (var prop in entry) { if (entry[prop] === value) { return prop } } return null } }
|
v1.5.2