Búsqueda difusa rápida en JavaScript puro-fuzzysort

Tiempo de ejecución: 30 minutos. Empezar

Autor: farzher
Views Total: 1,528
Sitio oficial: Ir a la web
Actualizado: October 8, 2018
Licencia: MIT

Vista prévia

Búsqueda difusa rápida en JavaScript puro-fuzzysort

Descripción

fuzzysort es un JavaScript libre de dependencias que proporciona una funcionalidad rápida de texto sublime, de búsqueda aproximada del lado del cliente/filtro en vivo con resaltado de palabras clave para sus grandes conjuntos de datos.

Funcionamiento

Descargue e importe el archivo JavaScript ' fuzzysort. js ' en el documento.

<script src="fuzzysort.js"></script>

Usos básicos.

require('fuzzysort').single('fs', 'Fuzzy Search')
// {score: 0.1, highlighted: '<b>F</b>uzzy <b>S</b>earch'}

require('fuzzysort').single('test', 'test')
// {score: 0, highlighted}

require('fuzzysort').single('doesnt exist', 'target')
// {}

Usos avanzados.

fuzzysort.single('query', 'some string that contains my query.')
// {score: 59, highlighted: "some string that contains my <b>query</b>."}
fuzzysort.single('query', 'irrelevant string') // null
// exact match returns a score of 0. lower score is better
fuzzysort.single('query', 'query') // {score: 0, highlighted: "<b>query</b>"}


fuzzysort.go('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])
// [{score: 18, highlighted: "<b>M</b>esh<b>R</b>enderer.cpp"}
// ,{score: 6009, highlighted: "<b>M</b>onito<b>r</b>.cpp"}]

let promise = fuzzysort.goAsync('mr', ['Monitor.cpp', 'MeshRenderer.cpp'])
promise.then(results => console.log(results))
if(invalidated) promise.cancel()

Opciones posibles con valores predeterminados.

{

noMatchLimit: 100, // if there's no match for a span this long, give up

highlightMatches: true,

highlightOpen: '<b>',

highlightClose: '</b>',

limit: null, // don't return more results than this
}

Registro de cambios

v1.1.4 (10/08/2018)

  • Optimización

Te puede interesar: