node.js & js

node.js js 에서 hash map 사용

Machine_웅 2018. 6. 14. 22:46
728x90
반응형

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  = new HashMap ( ) ;  

Node 내에서 이것을 사용한다면 먼저 클래스를 가져와야합니다.

var  HashMap  = require ( ' hashmap ' ) ; 

기본 사용 사례

지도 . set ( " some_key " , " some value " )  ;
지도 . get ( " some_key " ) ; //  -> "some value" 

지도 크기 / 요소 수

var  map  = new HashMap ( ) ;  
지도 . set ( " key1 " , " val1 " )  ;
지도 . set ( " key2 " , " val2 " )  ;
지도 . 크기 ; //  -> 2 

키 - 값 쌍 삭제

지도 . set ( " some_key " , " some value " )  ;
지도 . delete ( " some_key " ) ;
지도 . get ( " some_key " ) ; //  -> undefined 

현혹 없음

지도 . set ( " 1 " , " string one " )  ;
지도 . 세트 ( 1 , " 번호 하나 " )  ;
지도 . get ( " 1 " ) ; //  -> "문자열 하나" 

Object 으로 사용되는 레귤러 "number one"

객체를 키로 사용

var  key  = { } ; 
var  key2  = { } ; 
지도 . 세트 (, 123 )  ;
지도 . 세트 ( key2 , 321 )  ;
지도 . get ( key ) ; //  -> 123 

Object 으로 사용되는 레귤러 321

반복

지도 . 세트 ( 1 , " 테스트 1 " )  ;
지도 . 세트 ( 2 , " 테스트 2 " )  ;
지도 . 세트 ( 3 , " 테스트 3 " )  ;
 
지도 . forEach ( function ( value , key )  { 
    콘솔 . log ( key  + "  :  " +  value )   ;
} ) ;

메서드 체이닝

지도
  . 세트 ( 1 , " 테스트 1 " ) 
  . 세트 ( 2 , " 테스트 2 " ) 
  . 세트 ( 3 , " 테스트 3 " ) 
  . forEach ( function ( value , key )  { 
      콘솔 . log ( key  + "  :  " +  value )   ;
  } ) ;

특허

MIT 라이센스 (MIT)

Copyright (c) 2012 Ariel Flesler

사용, 복사, 수정, 병합 할 수있는 권한을 포함하되 이에 국한되지 않고 소프트웨어를 취급하기 위해이 소프트웨어 및 관련 문서 파일 (이하 "소프트웨어")의 사본을 얻는 모든 사람에게 사용 권한이 무료로 부여됩니다 다음 조건에 따라 소프트웨어의 사본을 게시, 배포, 재 라이센스 및 / 또는 판매 할 수 있고 소프트웨어를 제공받는 사람에게 허용 할 수 있습니다.

위의 저작권 고지 및이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에 포함되어야합니다.

소프트웨어는 상품성, 특정 목적에의 적합성 및 비 침해에 대한 보증을 포함하여 (단, 이에 한하지 않음) 묵시적이든 명시 적이든 어떠한 종류의 보증없이 "있는 그대로"제공됩니다. 어떤 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타 행위로 인해 발생 했든, 청구 된 행위로 인해 발생 했든간에 발생한 청구, 배상 또는 기타 책임에 대해 책임을지지 않습니다.

할 것

  • (?) 해시 함수를 AOP 방식으로 확장하거나 서비스를 전달할 수 있습니다.
  • 브라우저에서 테스트 작동시키기

 

728x90
반응형