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

JavaScript implementiert einen langen Bild-Scroll-Effekt

In diesem Artikel wird der spezifische Code für d...

Wird der veraltete Docker durch Podman ersetzt?

Das Kubernetes-Team hat vor Kurzem angekündigt, d...

Tutorial zur Installation und Konfiguration von MySQL für Mac

In diesem Artikel finden Sie das MySQL-Installati...

Erklärung der horizontalen und vertikalen Tabellenpartitionierung von MySQL

In meinem vorherigen Artikel habe ich gesagt, das...

MySQL Series 11-Protokollierung

Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...

Implementierung der Ausführung von SQL Server mit Docker

Jetzt ist .net Core plattformübergreifend und jed...

C# implementiert MySQL-Befehlszeilensicherung und -wiederherstellung

Es gibt viele Tools zum Sichern von MySQL-Datenba...

Setzen Sie den Eingang auf schreibgeschützt über deaktiviert und schreibgeschützt

Es gibt zwei Möglichkeiten, schreibgeschützte Eing...

Beispiel für die reguläre Umschreibmethode für Nginx Rewrite (Matching)

Die Rewrite-Funktion von Nginx unterstützt regelm...

Die Vue-Konfigurationsdatei generiert automatisch Routing- und Menüinstanzcode

Inhaltsverzeichnis Vorne geschrieben router.json ...

Häufige Fragen und Antworten im Vorstellungsgespräch für Stellen als Webdesigner

1. Was sind die Vorlagen für ASP.NET-Webanwendunge...