[JS]Hangul.js를 이용해서 자음검색, 초성검색 구현
iTIPs/Web
2017. 5. 15. 23:37
반응형
자음검색(초성검색)을 구현하려하는데 자바스크립트로 구현하려니 쉽지않다.
구글링해보면 이 글이 눈에 띄는데 굉장히 이론적이다.
하지만 내가 원하는 작업은 홍길동 -> ㅎㄱㄷ인데 응용력이 부족한지 구현하려니 자꾸 복잡해진다.
구글링을 더 해보니 Hangul.js라는 라이브러리가 이미 있다!
https://github.com/e-/Hangul.js
npm모듈도 있어서 node.js에서 사용하기도 쉽다.
Hangul.js를 이용해 초성만 모아 반환하는 예제는 다음과 같다
var name = "홍길동";
var disassemble = Hangul.disassemble(name,true);//2번째 인자로 true를 전달하면 글자마다 독립된 배열을 만들어준다
// disassemble = [[ㅎ,ㅗ,ㅇ],[ㄱ,ㅣ,ㄹ],[ㄷ,ㅗ,ㅇ]]
var cho="";
for (var i=0,l=disassemble.length;i<l;i++){
cho+=disassemble[i][0];
}
//disassemble의 배열의 첫값을 cho에 첨가한다
//cho = "ㅎㄱㄷ"
한가지 아쉬운점이 있다면 한/영간 변환기능도 있었다면 좋을 것 같다.
예를 들면 홍길동 -> ghdrlfehd 또는 grd
이렇게하면 홍길동을 검색할때 ㅎㄱㄷ, grd, ghdrlfehd으로 모두 검색할 수 있기 때문이다.
반응형