JavaScript의 효율적인 해시맵 구현
JavaScript 객체는 사전으로 사용할 수 있지만 진정한 해싱 기능을 제공하지는 않습니다. 결과적으로 문자열 표현은 다르지만 동일한 값을 가진 객체는 서로 덮어쓸 수 있습니다.
사용자 정의 키 기능 사용
효율적인 해시맵을 생성하려면 개체의 고유한 특성을 기반으로 하는 주요 기능입니다. 결과 문자열은 일반 JavaScript 사전의 키로 사용될 수 있습니다.
var key = function(obj){ // Some unique object-dependent key return obj.totallyUniqueEmployeeIdKey; // Just an example }; var dict = {}; dict[key(obj1)] = obj1; dict[key(obj2)] = obj2;
이 접근 방식의 장점:
충돌 방지
다른 객체에서 생성된 키 간의 충돌을 방지하려면 개체의 고유한 속성을 확인하고 이를 주요 기능에 사용하세요. 필요한 경우 라틴어가 아닌 유니코드 문자 또는 구분 기호를 사용하여 기본 속성과의 충돌을 방지합니다.
ES6 맵 및 세트
ECMAScript 6에서는 빌드된 기능을 제공하는 맵 및 세트를 도입했습니다. -해싱 기능이 있고 객체를 포함한 모든 값의 키를 지원합니다.
지도의 장점:
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3