[javascript] Fuse.js를 이용한 배열 검색 예제
const books = [
{ title: "자바스크립트 완벽 가이드", author: "데이비드 플래너한" },
{ title: "자바스크립트와 JSON", author: "타니타 유키" },
{ title: "실용 주의 프로그래머", author: "앤드류 헌트" },
{ title: "자바스크립트 코딩의 기술", author: "매리포포레스, 데이비드 플래너한" }
];
const options = {
threshold: 0.2,
keys: ["title", "author"]
};
const fuse = new Fuse(books, options);
const result = fuse.search("자바스크립트");
console.log(result);
이 예제에서는 books
라는 배열을 생성하고, 각 요소는 title
과 author
를 가지도록 설정했습니다. Fuse.js를 초기화 할 때, threshold
와 keys
를 옵션으로 전달합니다. threshold
는 검색 결과의 정확도를 조절하는 값입니다. 0에 가까울수록 정확하게 일치하는 결과를 반환하지만, 1에 가까울수록 유사한 결과도 반환됩니다. keys
는 검색에 사용될 속성을 설정하는 역할을 합니다.
new Fuse(books, options)
를 통해 Fuse 객체를 생성하고, search()
함수를 통해 특정 키워드를 검색합니다. 검색 결과는 result
변수에 저장되며, 콘솔에 출력됩니다.
이 예제를 실행하면 “자바스크립트”라는 키워드와 일치하는 결과만 출력됩니다. 검색 결과의 정확도는 threshold
값과 keys
에 설정한 속성에 따라 달라집니다.
Fuse.js는 다양한 검색 옵션과 기능을 제공하여 배열에서 텍스트를 검색하는 작업을 더욱 편리하게 만들어줍니다. 자세한 사용법은 Fuse.js 공식 문서에서 확인할 수 있습니다.