/* * MAP瀵硅薄锛屽疄鐜癕AP鍔熻兘 * * 鎺ュ彛锛? * size() 鑾峰彇MAP鍏冪礌涓暟 * isEmpty() 鍒ゆ柇MAP鏄惁涓虹┖ * clear() 鍒犻櫎MAP鎵€鏈夊厓绱? * put(key, value) 鍚慚AP涓鍔犲厓绱狅紙key, value) * remove(key) 鍒犻櫎鎸囧畾KEY鐨勫厓绱狅紝鎴愬姛杩斿洖True锛屽け璐ヨ繑鍥濬alse * get(key) 鑾峰彇鎸囧畾KEY鐨勫厓绱犲€糣ALUE锛屽け璐ヨ繑鍥濶ULL * element(index) 鑾峰彇鎸囧畾绱㈠紩鐨勫厓绱狅紙浣跨敤element.key锛宔lement.value鑾峰彇KEY鍜孷ALUE锛夛紝澶辫触杩斿洖NULL * containsKey(key) 鍒ゆ柇MAP涓槸鍚﹀惈鏈夋寚瀹欿EY鐨勫厓绱? * containsValue(value) 鍒ゆ柇MAP涓槸鍚﹀惈鏈夋寚瀹歏ALUE鐨勫厓绱? * values() 鑾峰彇MAP涓墍鏈塚ALUE鐨勬暟缁勶紙ARRAY锛? * keys() 鑾峰彇MAP涓墍鏈塊EY鐨勬暟缁勶紙ARRAY锛? * * 渚嬪瓙锛? * var map = new Map(); * * map.put("key", "value"); * var val = map.get("key") * 鈥︹€? * */ function Map() { this.elements = new Array(); //鑾峰彇MAP鍏冪礌涓暟 this.size = function() { return this.elements.length; }; //鍒ゆ柇MAP鏄惁涓虹┖ this.isEmpty = function() { return (this.elements.length < 1); }; //鍒犻櫎MAP鎵€鏈夊厓绱? this.clear = function() { this.elements = new Array(); }; //鍚慚AP涓鍔犲厓绱狅紙key, value) this.put = function(_key, _value) { this.elements.push( { key : _key, value : _value }); }; //鍒犻櫎鎸囧畾KEY鐨勫厓绱狅紝鎴愬姛杩斿洖True锛屽け璐ヨ繑鍥濬alse this.removeByKey = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; }; //鍒犻櫎鎸囧畾VALUE鐨勫厓绱狅紝鎴愬姛杩斿洖True锛屽け璐ヨ繑鍥濬alse this.removeByValue = function(_value) {//removeByValueAndKey var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; }; //鍒犻櫎鎸囧畾KEY,VALUE鐨勫厓绱狅紝鎴愬姛杩斿洖True锛屽け璐ヨ繑鍥濬alse this.removeByValueAndKey = function(_key,_value) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value && this.elements[i].key == _key) { this.elements.splice(i, 1); return true; } } } catch (e) { bln = false; } return bln; }; //鑾峰彇鎸囧畾KEY鐨勫厓绱犲€糣ALUE锛屽け璐ヨ繑鍥濶ULL this.get = function(_key) { try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { return this.elements[i].value; } } } catch (e) { return false; } return false; }; //鑾峰彇鎸囧畾绱㈠紩鐨勫厓绱狅紙浣跨敤element.key锛宔lement.value鑾峰彇KEY鍜孷ALUE锛夛紝澶辫触杩斿洖NULL this.element = function(_index) { if (_index < 0 || _index >= this.elements.length) { return null; } return this.elements[_index]; }; //鍒ゆ柇MAP涓槸鍚﹀惈鏈夋寚瀹欿EY鐨勫厓绱? this.containsKey = function(_key) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].key == _key) { bln = true; } } } catch (e) { bln = false; } return bln; }; //鍒ゆ柇MAP涓槸鍚﹀惈鏈夋寚瀹歏ALUE鐨勫厓绱? this.containsValue = function(_value) { var bln = false; try { for (i = 0; i < this.elements.length; i++) { if (this.elements[i].value == _value) { bln = true; } } } catch (e) {