Helpers

Funkcja zwraca tablicę przefiltrowanych tekstów, których tytuł lub zawartość zawiera wyszukiwaną frazę. Przefiltrowane elementy są sortowane w taki sposób, że na początku znajdują się te, które posiadają wyszukiwaną frazę w nazwie, a dopiero potem te, które mają frazę wewnątrz treści.

searchContent.js
const searchContent = (value, content) => {
  return content
    .filter(
      (text) =>
        text.name.toLowerCase().includes(value.toLowerCase()) ||
        text.content.toLowerCase().includes(value.toLowerCase())
    )
    .sort((a, b) => {
      let itA = a.name.toLowerCase().includes(value.toLowerCase());
      let itB = b.name.toLowerCase().includes(value.toLowerCase());

      return itA && !itB ? -1 : !itB && itA ? 1 : 0;
    });
};

export default searchContent;

Last updated