npm 사용 :
$ npm install hashmap
보어 사용 :
$ bower install hashmap
릴리스 페이지 에서 마지막 안정 버전을 다운로드 할 수 있습니다 .
위험이 마음에 들면 최신 마스터 버전을 다운로드 할 수 있으며 대개 안정적입니다.
테스트를 실행하려면 다음과 같이하십시오.
$ npm test
기술
이 프로젝트는 Node.js 와 브라우저HashMap
에서 모두 작동 하는 클래스를 제공 합니다 . HashMap 인스턴스 는 모든 유형의 키를 허용하는 키 / 값 쌍을 저장 합니다 .
일반 객체와 달리 키는 문자열 화되지 않습니다 . 예를 들어, 숫자와 문자열이 섞이지 않고 Date
, RegExp
's' , 'DOM Elements'등을 전달할 수 있습니다 . (균등 null
및 undefined
)
HashMap 생성자 과부하
new HashMap()
빈 해시 맵을 만듭니다.new HashMap(map:HashMap)
키 - 값 쌍을 가진 해시 맵을 만듭니다.map
new HashMap(arr:Array)
차원 키값 배열에서 해시 맵 생성arr
, 예를[['key1','val1'], ['key2','val2']]
new HashMap(key:*, value:*, key2:*, value2:*, ...)
여러 키 - 값 쌍이있는 해시 맵을 만듭니다.
HashMap 메소드
get(key:*) : *
해당 키에 대해 저장된 값을 반환합니다.set(key:*, value:*) : HashMap
키 - 값 쌍을 저장합니다.multi(key:*, value:*, key2:*, value2:*, ...) : HashMap
여러 개의 키 - 값 쌍을 저장합니다.copy(other:HashMap) : HashMap
other에서 this 인스턴스로 모든 키 - 값 쌍을 복사합니다.has(key:*) : Boolean
해시 맵에 키가 설정되었는지 여부를 반환합니다.search(value:*) : *
주어진 값이 저장된 키를 반환합니다 (null
발견되지 않은 경우).delete(key:*) : HashMap
키로 키 - 값 쌍을 삭제합니다.remove(key:*) : HashMap
별칭delete(key:*)
(비추천)type(key:*) : String
제공된 키의 데이터 유형을 반환합니다 (내부적으로 사용됨).keys() : Array<*>
등록 된 모든 키가있는 배열을 반환합니다.values() : Array<*>
모든 값을 가진 배열을 반환합니다.entries() : Array<[*,*]>
[key, value] 쌍을 가진 배열을 반환합니다.size : Number
키 - 값 쌍의 양count() : Number
키 - 값 쌍의 양을 반환합니다 (사용되지 않음).clear() : HashMap
해시 맵의 모든 키 - 값 쌍을 삭제합니다.clone() : HashMap
원본의 모든 키 - 값 쌍을 사용하여 새 해시 맵을 만듭니다.hash(key:*) : String
문자열 화 된 키 버전을 반환합니다 (내부적으로 사용됨).forEach(function(value, key)) : HashMap
쌍을 반복하고 각각에 대해 함수를 호출합니다.
메서드 체이닝
무엇인가를 돌려주지 않는 모든 메소드는, HashMap의 인스턴스를 돌려 주어, 체인을 유효하게합니다.
예제들
아래의 모든 예에서 이것을 가정하십시오.
var map = ;
Node 내에서 이것을 사용한다면 먼저 클래스를 가져와야합니다.
var HashMap = ;
기본 사용 사례
지도 ;지도 ; // -> "some value"
지도 크기 / 요소 수
var map = ; 지도 ;지도 ;지도 크기 ; // -> 2
키 - 값 쌍 삭제
지도 ;지도 ;지도 ; // -> undefined
현혹 없음
지도 ;지도 ;지도 ; // -> "문자열 하나"
Object
맵 으로 사용되는 레귤러 는"number one"
객체를 키로 사용
var key = { } ; var key2 = { } ; 지도 ;지도 ;지도 ; // -> 123
Object
맵 으로 사용되는 레귤러 는321
반복
지도 ;지도 ;지도 ; 지도 ;
메서드 체이닝
지도 ;
특허
MIT 라이센스 (MIT)
Copyright (c) 2012 Ariel Flesler
사용, 복사, 수정, 병합 할 수있는 권한을 포함하되 이에 국한되지 않고 소프트웨어를 취급하기 위해이 소프트웨어 및 관련 문서 파일 (이하 "소프트웨어")의 사본을 얻는 모든 사람에게 사용 권한이 무료로 부여됩니다 다음 조건에 따라 소프트웨어의 사본을 게시, 배포, 재 라이센스 및 / 또는 판매 할 수 있고 소프트웨어를 제공받는 사람에게 허용 할 수 있습니다.
위의 저작권 고지 및이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함되어야합니다.
소프트웨어는 상품성, 특정 목적에의 적합성 및 비 침해에 대한 보증을 포함하여 (단, 이에 한하지 않음) 묵시적이든 명시 적이든 어떠한 종류의 보증없이 "있는 그대로"제공됩니다. 어떤 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타 행위로 인해 발생 했든, 청구 된 행위로 인해 발생 했든간에 발생한 청구, 배상 또는 기타 책임에 대해 책임을지지 않습니다.
할 것
- (?) 해시 함수를 AOP 방식으로 확장하거나 서비스를 전달할 수 있습니다.
- 브라우저에서 테스트 작동시키기
'node.js & js' 카테고리의 다른 글
socket.io 에서 on 이 여러번 실행되는 이슈 (0) | 2018.06.21 |
---|---|
node js에서 fcm 푸시 메세지 보내기 (0) | 2018.06.15 |
노드 js에서 배열 사용 하기 (0) | 2018.06.10 |
node.js 에서 arraylist 사용하기 (0) | 2018.06.08 |
안드로이 <--> 서버로 메세지 주고받기 (0) | 2018.06.08 |