[javascript] Fuse.js의 주요 API

Fuse.js는 JavaScript를 위한 유용한 검색 라이브러리입니다. 이 라이브러리는 매우 유연하고 강력한 기능을 제공하며, 다양한 검색 기능을 구현하는 데 사용될 수 있습니다. 이번 포스트에서는 Fuse.js의 주요 API에 대해 알아보겠습니다.

Fuse(list, options)

Fuse는 Fuse.js 객체를 초기화하는 생성자 함수입니다. 이 함수는 검색 대상인 list와 사용자 정의 옵션인 options를 매개변수로 받습니다.

const list = [
  { title: "JavaScript Basics" },
  { title: "Introduction to Node.js" },
  { title: "React for Beginners" },
  { title: "Vue.js Fundamentals" }
];

const options = {
  keys: ["title"]
};

const fuse = new Fuse(list, options);

search(pattern)

search 메서드는 주어진 pattern을 사용하여 검색을 수행합니다. 이 메서드는 검색 결과를 배열로 반환합니다.

const pattern = "js";
const result = fuse.search(pattern);

console.log(result);
// Output: [{ title: "JavaScript Basics" }, { title: "Introduction to Node.js" }]

setCollection(list)

setCollection 메서드는 검색 대상인 list를 업데이트합니다. 이 메서드를 사용하여 검색 대상을 동적으로 변경할 수 있습니다.

const newList = [
  { title: "JavaScript Basics" },
  { title: "Introduction to Node.js" },
  { title: "React for Beginners" },
  { title: "Vue.js Fundamentals" },
  { title: "Angular Basics" }
];

fuse.setCollection(newList);

const pattern = "angular";
const result = fuse.search(pattern);

console.log(result);
// Output: [{ title: "Angular Basics" }]

setOptions(options)

setOptions 메서드는 사용자 정의 옵션을 업데이트합니다. 이 메서드를 사용하여 옵션을 동적으로 변경할 수 있습니다.

const newOptions = {
  keys: ["title", "author"]
};

fuse.setOptions(newOptions);

const pattern = "node";
const result = fuse.search(pattern);

console.log(result);
// Output: [{ title: "Introduction to Node.js" }]

결론

Fuse.js의 주요 API를 살펴보았습니다. 이러한 API들은 개발자들이 검색 기능을 구현할 때 유용하게 활용될 수 있습니다. Fuse.js에 대해 더 자세히 알아보려면 공식 문서를 참조하세요.

참조: Fuse.js 공식 문서