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

Schreiben eines Schere-Stein-Papier-Spiels in JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Geplantes Teilen von Skripten für MySQL-Datenbanksicherungen

BackUpMysql.sh-Skript #!/bin/bash PATH=/bin:/sbin...

33 Eis- und Schnee-Schriftarten zum Download empfohlen (privat und kommerziell)

01 Winterflocken (nur einzeln) 02 Snowtop Caps (k...

Einführung in die Anwendung der HTML-Tags superscript sup und subscript sub

HTML-Tag: hochgestellt In HTML definiert das <s...

Alibaba Cloud Centos7.3-Installation, MySQL5.7.18 RPM-Installations-Tutorial

Deinstallieren Sie MariaDB CentOS7 installiert st...

Beispielcode zur Implementierung des Verlaufs in Vuex

Ich habe vor Kurzem eine visuelle Operationsplatt...

CSS-Implementierungscode für mehrstufige Menüs

Dies ist eine ziemlich coole Funktion, die Websei...

Detaillierte Erklärung, wie Sie alle untergeordneten Elemente mit CSS auswählen

Wie wähle ich mit CSS rekursiv alle untergeordnet...

Analysieren der häufig verwendeten v-Anweisungen in vue.js

Inhaltsverzeichnis Erklärung des V-Texts bei „if“...

So migrieren Sie den MySQL-Speicherort auf eine neue Festplatte

1. Bereiten Sie eine neue Festplatte vor und form...

So kommunizieren Sie mit anderen Benutzern über die Linux-Befehlszeile

Es ist ganz einfach, Nachrichten an andere Benutz...

CSS3-Kategoriemenüeffekt

Die CSS3-Kategoriemenüeffekte sind wie folgt: HTM...