fuzzbunny adalah pustaka pencarian/pencocokan/penyorotan yang cepat, 1K), cepat & memori. Ini bekerja sama baiknya di lingkungan browser atau node.js.
Perpustakaan serupa lainnya adalah fuzzymatch, fuzzy, fuzzy-pencarian, fuzzyjs.
fuzzbunny bertujuan untuk menjadi gesit dan cepat. Ini memiliki API sederhana yang dapat dengan mudah diintegrasikan dengan perpustakaan Frontend untuk membangun UI pencarian yang bagus. Kami menggunakannya di mixpanel.com untuk memberi daya dropdown dan tabel UI kami.
npm install --save fuzzbunny atau yarn add fuzzbunny
Fuzzbunny Gutenberg Catalog Demo →

const { fuzzyFilter , fuzzyMatch } = require ( `fuzzbunny` ) ;
// or import {fuzzyFilter, fuzzyMatch} from 'fuzzbunny';
const heroes = [
{
name : `Claire Bennet` ,
ability : `Rapid cellular regeneration` ,
} ,
{
name : `Micah Sanders` ,
ability : `Technopathy` ,
} ,
{
name : `Hiro Nakamura` ,
ability : `Space-time manipulation` ,
} ,
{
name : `Peter Petrelli` ,
ability : `Tactile power mimicry` ,
} ,
] ;
// Use fuzzyFilter to filter an array of items on specific fields and get filtered + score-sorted results with highlights.
const results = fuzzyFilter ( heroes , `stm` , { fields : [ `name` , `ability` ] } ) ;
/*
results = [
{
item: {
name: 'Peter Petrelli',
ability: 'Tactile power mimicry',
},
score: 1786,
highlights: {
ability: ['', 'T', 'actile power ', 'm', 'imicry'],
},
},
{
item: {
name: 'Hiro Nakamura',
ability: 'Space-time manipulation',
},
score: 983,
highlights: {
ability: ['Space-', 't', 'ime ', 'm', 'anipulation'],
},
},
];
*/
// Use fuzzyMatch to match a single string to get score + highlights. Returns null if no match found.
const match = fuzzyMatch ( heroes [ 0 ] . name , `ben` ) ;
/*
match = {
score: 2893,
highlights: ['Claire ', 'Ben', 'net'],
};
*/ fuzzbunny menggunakan algoritma penilaian yang memprioritaskan sinyal berikut. Lihat fungsi _getMatchScore .
Contoh 1:
{Mayfl}ower peringkat di atas The {Mayfl}owerThe {Mayfl}ower peringkat di atas Story of the {Mayfl}owerThe {Mayfl}ower peringkat di atas {May} {fl}owerThe {May} {fl}ower peringkat di atas This {May} {fl}ower 
Contoh 2:
const f = require ( `fuzzbunny` ) ;
f . fuzzyMatch ( `Gobbling pupusas` , `usa` ) ;
// {score: 2700, highlights: ['Gobbling pup', 'usa', 's']}
f . fuzzyMatch ( `United Sheets of Antarctica` , `usa` ) ;
// {score: 2276, highlights: ['', 'U', 'nited ', 'S', 'heets of ', 'A', 'ntarctica']} Gobbling pup{usa}s menang karena urutan 3 huruf yang berdekatan menghasilkan skor yang lebih tinggi.
Catatan : fuzzbunny OptMizes untuk hasil yang bermakna. Ini hanya melakukan substring/awalan/akronim-pencocokan, bukan pencocokan serakah.
Ini karena otak manusia sangat bagus dalam pengingat awalan. misalnya kata -kata yang dimulai dengan "CA" jauh lebih mudah diingat daripada kata -kata yang berisi huruf "C" dan "A" di suatu tempat. Mudah diingat bahwa {usa} singkatan dari {U}nited {S}tates of {A}merica , bukan F{u}ll Java{s}cript Fr{a}mework
fuzzbunny cocok ~ juta baris/kedua pada perangkat keras modern. Diuji pada 2018 MacBook Pro dengan 2.4GHz CPU. Lihat Tes/Performance.js
fuzzbunny hadir dengan tipe naskah autogenerasi. Lihat Index.D.TS