Map對象,實現Map功能

來源:互聯網
上載者:User
/** * Map對象,實現Map功能 *  *  * size() 擷取Map元素個數  * isEmpty() 判斷Map是否為空白  * clear() 刪除Map所有元素  * put(key, value) 向Map中增加元素(key, value)  * remove(key) 刪除指定key的元素,成功返回true,失敗返回false  * get(key) 擷取指定key的元素值value,失敗返回null  * element(index) 擷取指定索引的元素(使用element.key,element.value擷取key和value),失敗返回null  * containsKey(key) 判斷Map中是否含有指定key的元素  * containsValue(value) 判斷Map中是否含有指定value的元素  * keys() 擷取Map中所有key的數組(array)  * values() 擷取Map中所有value的數組(array) */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();},// 向Map中增加元素(key, value)this.put = function(_key, _value) {if (this.containsKey(_key) == true) {if (this.containsValue(_value)) {if (this.remove(_key) == true) {this.elements.push( {key : _key,value : _value});}} else {this.elements.push( {key : _key,value : _value});}} else {this.elements.push( {key : _key,value : _value});}},// 刪除指定key的元素,成功返回true,失敗返回falsethis.remove = 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;},// 擷取指定key的元素值value,失敗返回nullthis.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 null;}},// 擷取指定索引的元素(使用element.key,element.value擷取key和value),失敗返回nullthis.element = function(_index) {if (_index < 0 || _index >= this.elements.length) {return null;}return this.elements[_index];},// 判斷Map中是否含有指定key的元素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中是否含有指定value的元素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) {bln = false;}return bln;},// 擷取Map中所有key的數組(array)this.keys = function() {var arr = new Array();for (i = 0; i < this.elements.length; i++) {arr.push(this.elements[i].key);}return arr;},// 擷取Map中所有value的數組(array)this.values = function() {var arr = new Array();for (i = 0; i < this.elements.length; i++) {arr.push(this.elements[i].value);}return arr;};/** * 重寫toString  */this.toString = function(){var s = "";for (i = 0; i < this.elements.length; i++) {s += this.elements[i].value+"  ";}return s;};}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.