js map集合簡單程式碼例項
本章節分享一段程式碼例項,它模擬紅絲線了map集合的功能。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼var Map = function (){ /************基礎變數**************/ var hashmap = {}; var keys = []; var vals = []; var entrys = []; var size = 0; var index = {}; var Entry = function(key,value){ var entryKey = key; var entryValue = value; this.getKey = function (){ return entryKey; }; this.getValue = function(){ return entryValue; }; }; /************基本方法 按字母排序**************/ this.clear = function(key) { hashmap[key] = undefined; var i = index[key]; entrys.splice(i,1); vals.splice(i,1); keys.splice(i,1); size --; }; this.entrySet = function() { return entrys; }; this.get = function(key){ return hashmap[key]; }; this.isEmpty = function() { if(hashmap) return true; return false; }; this.keySet = function() { return keys; }; this.put = function(key,value){ if(!this.get(key)){ entrys.push(new Entry(key,value)); keys.push(key); vals.push(value); index[key] = size; size ++; } else { var i = index[key]; entrys[i] = new Entry(key,value); vals[i] = value; } hashmap[key] = value; }; this.size = function() { return size; }; this.values = function() { return vals; }; }; /************擴充套件方法**************/ Map.prototype = { containsKey : function(key) { if(this.get(key)) return true; return false; }, putAll : function(set) { for(var e in set){ if(set[e]){ this.put(e,set[e]); } } }, remove : function(key) { var v = this.get(key); this.clear(key); return v; } }; var h = new Map(); h.put('a',10); h.put('b',11); h.put('c',3); h.put('d',5); console.info(h.size()); h.clear('a'); console.info(h.containsKey('a')); console.info(h.containsKey('b')); console.info(h.size()); console.log(h.entrySet()); console.log(h.keySet()); console.log(h.values()); for(var i in h.entrySet()){ var obj = h.entrySet()[i]; console.log(obj.getKey() + ":" + obj.getValue()); }
相關文章
- js選項卡簡單程式碼例項JS
- JSON簡單格式程式碼例項JSON
- js簡單日曆效果程式碼例項JS
- js簡單的留言功能程式碼例項JS
- js簡單摺紙效果程式碼例項JS
- js prototype原型應用簡單例項程式碼JS原型單例
- js解析xml檔案簡單程式碼例項JSXML
- Angularjs製作簡單的路由功能簡單程式碼例項AngularJS路由
- node.js [superAgent]請求簡單程式碼例項Node.js
- js實現的字串簡單編碼和解碼程式碼例項JS字串
- js微信視窗關閉事件簡單程式碼例項JS事件
- js自定義回撥函式簡單程式碼例項JS函式
- js簡單時間日期格式化程式碼例項JS
- js簡單富文字編輯器效果程式碼例項JS
- js自定義實現的簡單編碼和解碼程式碼例項JS
- jQuery.map()方法程式碼例項jQuery
- javascript閉包簡單程式碼例項JavaScript
- javascript作用域簡單例項程式碼JavaScript單例
- JavaScript 動畫效果簡單例項程式碼JavaScript動畫單例
- js對時間日期簡單格式化程式碼例項JS
- js 將xml轉換為table表格簡單程式碼例項JSXML
- js使用者登錄檔單驗證簡單程式碼例項JS
- jQuery表單驗證簡單程式碼例項jQuery
- jQuery實現的簡單投票簡單程式碼例項jQuery
- javascript模擬jQuery的map()方法程式碼例項mapJavaScriptjQuery
- js讀寫二進位制檔案簡單程式碼例項JS
- 使用js簡單當前電腦是否聯網程式碼例項JS
- js將小數轉換為整數簡單程式碼例項JS
- jQuery鏈式呼叫簡單例項程式碼jQuery單例
- prototype原型繼承簡單程式碼例項原型繼承
- jquery自定義事件簡單例項程式碼jQuery事件單例
- jQuery簡單調色器程式碼例項jQuery
- 淡入淡出效果簡單程式碼例項
- js省市級聯選單程式碼例項JS
- css簡單水平導航選單程式碼例項CSS
- 驗證手機號碼程式碼簡單程式碼例項
- jQuery遍歷讀取json格式資料簡單程式碼例項jQueryJSON
- js驗證表單項是否為空例項程式碼JS