Beispiel für die Implementierung einer lokalen Fuzzy-Suchfunktion in Front-End-JavaScript

Beispiel für die Implementierung einer lokalen Fuzzy-Suchfunktion in Front-End-JavaScript

1. Projektaussichten

Da Vue und React in der tatsächlichen Entwicklung immer häufiger verwendet werden, verarbeitet das Front-End immer mehr Daten. Der Hauptzweck dieses Artikels besteht darin, die vom Server zurückgegebenen Daten zu verarbeiten und je nach Bedingungen Fuzzy-Abfragen durchzuführen, um so die Anzahl der an den Server gesendeten Anfragen zu verringern und die Leistung und Benutzererfahrung zu verbessern. Nachfolgend finden Sie eine einfache DEMO zur Implementierung der Fuzzy-Abfragefunktion:

Die Testdaten sind wie folgt:

var Daten = [{
            "title": "Wie lange dauert es, bis man sich von einem gebrochenen Herzen erholt?",
            "Titelbild": "https://img.doutuimao.net/dtmimg/b7c9ec393414982682e5a477eb995b55",
            "desc": "Lebensmittel- und Getränketest: Wie lange dauert es, sich von einem gebrochenen Herzen zu erholen?"
            "id": "2",
            "num": 951357,
            "Flagge": "01"
    },
    {
            "title": "Wie hoch ist dein Koketterie-Index?",
            "Titelbild": "https://img.doutuimao.net/dtmimg/60d8ed86d1f72357c194506270c72ac1",
            "desc": "Frauen, die kokett sein können, haben das größte Glück. Wie gut bist du im Kokettieren? Wie charmant bist du, wenn du kokett bist? Mach den Test!",
            "id": "3",
            "num": 963258,
            "Flagge": "01"
    },
    {
            "title": "Wie werden Sie in Zukunft heiraten?",
            "Titelbild": "https://img.doutuimao.net/dtmimg/538632e75159ce8e586778d289c66a11",
            "desc": "Ich glaube, viele Menschen freuen sich auf ihre zukünftige Hochzeitsplanung. Möchten Sie wissen, wie Sie in Zukunft heiraten werden?",
            "id": "4",
            "num": 879564,
            "Flagge": "01"
    },
]

2. Wissenspunkte

Verwendung von Object.assign()

Mit der Methode Object.assign werden alle aufzählbaren Eigenschaften des Quellobjekts (Quelle) in das Zielobjekt (Ziel) kopiert. Es sind mindestens zwei Objekte als Parameter erforderlich, wobei der erste Parameter das Zielobjekt ist und alle nachfolgenden Parameter Quellobjekte sind.

// Original-Array verarbeiten let arrnew = data.map((item, index) => {
    return Objekt.assign({}, {
            'desc': Element.desc,
    })
})

filter() Methode

Die Methode filter() wird zum Filtern von Array-Elementen verwendet. Die Methode erstellt ein neues Array, das alle Elemente enthält, die den von der bereitgestellten Funktion implementierten Test bestehen. filter() erkennt keine leeren Arrays und verändert das ursprüngliche Array nicht.

indexOf() Fuzzy-Abfrage

Die Methode indexOf() gibt die Position des ersten Vorkommens eines angegebenen Zeichenfolgenwerts innerhalb einer Zeichenfolge zurück. Wenn der abzurufende Zeichenfolgewert nicht angezeigt wird, gibt die Methode -1 zurück. In Verbindung mit der Filtermethode kann es erkennen, ob das Array den Eingabewert enthält und ihn zurückgeben.

var neueDaten = arrnew.filter(item => {
    if (item.desc.indexOf(value) > -1) { //In der indexOf-Methode gibt xxx.indexOf("") den Wert 0 zurück.
            Rücksendeartikel
    }
    Neue Daten zurückgeben
})

Der vollständige DEMO-Code lautet wie folgt:

<div Klasse="wrap">
        <Eingabetyp="Text" id="Demo">
        <ul id="newsBox">
        </ul>
</div>
Funktion erstellen() {
        var Wert = Eingabewert;
        var html = "";
        lass arrnew = data.map((item, index) => {
                return Objekt.assign({}, {
                        'desc': Element.desc,
                })
        })

        var neueDaten = arrnew.filter(item => {
                if (item.desc.indexOf(value) > -1) { //In der indexOf-Methode gibt xxx.indexOf("") den Wert 0 zurück.
                        Rücksendeartikel
                }
                Neue Daten zurückgeben
        })


        wenn (neueDatenlänge > 0) {
                für (var i = 0; i < neueDatenlänge; i++) {
                        html += `<li>${newData[i].desc}</li>`
                }
        } anders {
                html += `<li>Keine Daten</li>`
        }
        ul.innerHTML = html;
}
erstellen()
input.onchange = Funktion(e) {
        erstellen()
}

Zusammenfassen

Dies ist das Ende dieses Artikels über die Implementierung der lokalen Fuzzy-Suchfunktion in JavaScript. Weitere relevante Inhalte zur lokalen Fuzzy-Suche in JS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • JavaScript zur Implementierung der Front-End-Paging-Funktion
  • Das JavaScript-Frontend implementiert die Bildkomprimierungsfunktion
  • JS implementiert die Suchfunktion der Front-End-Seite
  • Teilen Sie 10 gängige JavaScript-Frontend-Handschriftfunktionen

<<:  Lernen Sie einfach verschiedene SQL-Joins

>>:  Detaillierte Erklärung zur Verwendung der Linux-lseek-Funktion

Artikel empfehlen

Implementierung langer Textschatten in Less in CSS3

Dieser Artikel stellt hauptsächlich die Implement...

Wissen Sie, wie Sie mit Vue Screenshots von Webseiten erstellen?

Inhaltsverzeichnis 1. Installieren Sie html2Canva...

Implementierungsschritte der MySQL-Master-Slave-Replikation

Inhaltsverzeichnis MySQL Master-Slave-Replikation...

Detaillierte Erklärung des Linux-Befehls unzip

Inhaltsverzeichnis 1. Unzip-Befehl 1.1 Syntax 1.2...

Lösung zur Deinstallation von Python und Yum im CentOs-System

Hintergrund des Unfalls: Vor einigen Tagen habe i...

Detaillierte Erklärung zur Verwendung des Basis-Tags in HTML

In requireJS gibt es eine Eigenschaft namens base...

So implementieren Sie Reaktionsfähigkeit beim Lernen des Vue-Quellcodes

Inhaltsverzeichnis Vorwort 1. Schlüsselelemente e...

Detaillierte Erklärung des Inline-Formats von HTML-Tabellen

Inline-Format <colgroup>…</colgroup> ...

Was sind die Dateiattribute von crw, brw, lrw usw. in Linux?

Was ist eine Datei? Eigentlich sind alle Dateien ...

So öffnen Sie externe Netzwerkzugriffsrechte für MySQL

Wie unten dargestellt: Führen Sie hauptsächlich A...

Lösung zum Einfügen eines Formulars mit einer Leerzeile oben und unten

Ich weiß nicht, ob Ihnen beim Erstellen einer Webs...