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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /** * key:value 를 사용하는 HashMap * @example * <pre> * var map = new COMHashMap(); * map.put("key","value"); * map.get("key"); * map.length; 길이 반환 * map.keys(); 모든 키 객체반환 * map.values(): 모든 값 객체반환 * map.toQuaryString([option]); key=value[option] 문자열반환 * map.clear(); 초기화 * map.next(); 다음 객체 반환 * map.indexValue(index);위치로 값 찾기 * map.splice(key); key 삭제 * map.point(key); key 의 위치반환 * </pre> */ var COMHashMap = function() { this.obj = []; this.length = 0; this.put = function(key, value) { if( this.obj[key] == null )this.length++; this.obj[key] = value; }; this.get = function(key) { return this.obj[key]; }; this.keys = function() { var keys = []; for ( var property in this.obj ) keys.push(property); return keys; }; this.values = function() { var values = []; for ( var property in this.obj ) values.push(this.obj[property]); return values; }; this.toQueryString = function(divMark) { var divMark = (typeof divMark == "undefined") ? "&" : divMark; var quaryString = ""; var key = this.keys(); var value = this.values(); if ( this.length < 1 ) return ""; for( var i = 0 ; i < this.length ; i++ ) { if ( quaryString != "" ) quaryString += divMark; quaryString += key[i] +"="+ value[i]; } return quaryString; }; this.remove = function(index) { var keys = this.keys(); keys.splice(index, 1); var temp =[]; for ( var i = 0 ; i < keys.length ; i++ ) { temp[keys[i]] = this.obj[keys[i]]; } this.obj = temp; this.length = keys.length; index--; }; this.indexOf = function(key) { var cnt = 0; for ( var i in this.obj ) { if ( key == i ) return cnt; cnt++; } }; this.splice = function(spliceIndex) { var keys = this.keys(); keys.splice(spliceIndex, 1); var temp =[]; for ( var i = 0 ; i < keys.length ; i++ ) { temp[keys[i]]=this.obj[keys[i]]; } this.obj = temp; this.length = keys.length; index--; }; this.point = function(key) { var cnt = 0; for ( var i in this.obj ) { if ( key == i ) return cnt; cnt++; } }; this.clear = function() { this.obj = []; this.length = 0; }; var index = 0; this.next = function() { if ( index == this.length ) { index = 0; return -1; } var values = this.values(); var currentValue = values[index]; index++; return currentValue; }; this.indexValue = function(Idx) { var keys = this.keys(); return this.obj[keys[Idx]]; }; }; |
Pages
2014년 2월 21일 금요일
[JAVASCRIPT] JavaScript key:value 를 사용하는 HashMap 만들기
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기