1. Filtern, Zuordnen und Reduzieren von Verarbeitungsmethoden für herkömmliche SammlungenDer Hauptzweck der Filterfunktion besteht darin, Array-Elemente zu filtern und ein Array von Elementen zurückzugeben, die die Bedingungen erfüllen. Konstante Nums = [10,20,30,111,222,333] let newNums = nums.filter(function(n){ Rückgabewert n<100 }) Ausgabe:
Die Map-Funktion bildet jedes Element des Arrays ab und gibt ein neues Array zurück. Das ursprüngliche Array wird nicht geändert. Multiplizieren Sie jede Zahl in newNums mit 2. Konstante Nums = [10,20,30,111,222,333] let neueNums = nums.map(Funktion(n){ Rückgabewert n*2 }) Ausgabe:
Die Reduce-Funktion wird hauptsächlich dazu verwendet, alle Elemente eines Arrays zusammenzufassen, also beispielsweise zu addieren oder zu multiplizieren. Konstante Nums = [10,20,30,111,222,333] let newNums = nums.reduce(Funktion(preValue,n){ Rückgabewert + n },0) Ausgabe:
Manchmal können mehrere Behandlungen kombiniert werden, wie der folgende umfassende Fall zeigt. Konstante Nums = [10,20,30,111,222,333] let newNums = nums.filter(function(n){ Rückgabewert n<100 }).map(Funktion(n){ Rückgabewert n*2 }).reduzieren(Funktion(Vorwert,n){ returniere Vorwert+n },0) Ergebnis:
Es gibt auch eine Suchmethode für Array-Sammlungen, die der Filtermethode ähnelt. Die Methode find() wird hauptsächlich verwendet, um das erste Element im Array zurückzugeben, das die Bedingungen erfüllt (wenn kein Element vorhanden ist, wird „undefined“ zurückgegeben). var Array = [1,2,3,4,5,6,7]; var Ergebnis = Array.find(Funktion(Wert){ Rückgabewert > 5; //Bedingung}); console.log(Ergebnis); //6 konsole.log(Array); //[1,2,3,4,5,6,7] In ähnlicher Weise können wir auch den Verarbeitungsmechanismus von require.context in vue verwenden, um Dateien zur Verarbeitung zu durchlaufen, und wir müssen auch Filter verwenden, wie im folgenden Code gezeigt. Der folgende Code ist eine Filteroperation, die ich für die Dateien in einem Ordner ausführe const req = require.context('vue-awesome/icons', true, /\.js$/) const requireAll = requireContext => requireContext.keys() const re = /\.\/(.*)\.js/ const vueAwesomeIcons = requireAll(req).filter((Schlüssel) => { return Schlüssel.indexOf('index.js') < 0 }).map(i => { zurückgeben i.match(re)[1] }) Standardmäßig exportieren vueAwesomeIcons 2. Rekursive VerarbeitungManchmal müssen wir eine JSON-Sammlung basierend auf einem Schlüsselattribut abfragen, weil die Sammlung verschachtelt ist, z. B. untergeordnete Elemente, die eine untergeordnete Sammlung enthalten. Diese Verarbeitungsmethode erfordert Rekursion. Beispielsweise gibt es in einer von mir definierten Menüsammlung eine solche verschachtelte Struktur. Wenn das entsprechende Objekt entsprechend dem Namen abgerufen werden muss, ist eine rekursive Verarbeitungsfunktion beteiligt. Schauen wir uns zunächst die JSON-Sammlung des Menüs an. // Diese Menüdaten werden grundsätzlich vom Server zurückgegeben export const asyncMenus = [ { ID: '1', pid: "-1", Text: 'Homepage', Symbol: „Dashboard“, Name: "Armaturenbrett" }, { ID: '2', pid: "-1", Text: 'Produktinformationen', Symbol: 'Tabelle', Kinder: [ { ID: '2-1', pid: "2", Text: 'Produktanzeige', Name: 'Produktshow', Symbol: „Tabelle“ }] }, { ID: '3', pid: "-1", Text: 'Sonstiges Management', Symbol: "Beispiel", Kinder: [ { ID: '3-1', pid: "3", Text: 'Icon-Verwaltung', Name: "Symbol", Symbol: „Beispiel“ }, { ID: '3-3', pid: "3", Text: 'Baumfunktionsanzeige', Name: 'Baum', Symbol: „Baum“ }, { ID: '3-2', pid: "3", Text: 'Sekundäres Menü 2', Symbol: 'Baum', Kinder: [ { ID: '3-2-2', pid: '3-2', Text: 'Ebene 3 Menü 2', Name: 'menu1-1', Symbol: „Formular“ } ] } ] } ] Wenn wir die Abfrage basierend auf der ID durchlaufen müssen, handelt es sich um eine typische rekursive Abfrageverarbeitung. // Holen Sie sich das entsprechende Menüobjekt entsprechend der Menü-ID FindMenuById(menuList, menuid) { für (var i = 0; i < Menüliste.Länge; i++) { var item = Menüliste[i]; wenn (item.id && item.id === menuid) { Rücksendeartikel } sonst wenn (Element.Kinder) { var foundItem = this.FindMenuById(item.children, menuid) if (foundItem) { // Gib foundItem nur zurück, wenn es gefunden wurde } } } } Es ist hier zu beachten, dass Sie bei der Rekursion die folgende direkte Rückgabe nicht verwenden können. gib dies zurück.FindMenuById(item.children, menuid) Es muss ermittelt werden, ob ein Ergebnis zurückgegeben wird. Andernfalls gibt die verschachtelte Rekursion möglicherweise den undefinierten Typ zurück. var foundItem = this.FindMenuById(item.children, menuid) if (foundItem) { // Gib foundItem nur zurück, wenn es gefunden wurde } 3. forEach-Traversal-SammlungsverarbeitungIn vielen Fällen müssen wir auch eine forEach-Durchquerung der Sammlung wie folgt durchführen: Verarbeiten Sie sie entsprechend ihrem Schlüsselwert und registrieren Sie den Verarbeitungsvorgang des globalen Filters // Globale Filter importieren importiere * als Filter aus './filters' //Globales Filterobjekt registrieren.keys(filters).forEach(key => { Vue.filter(Schlüssel, Filter[Schlüssel]) }) Oder wir verarbeiten die Sammlung, nachdem wir Daten über die API erhalten haben // Produkttyp für Bindungswörterbücher usw. abrufen GetProductType().then(data => { wenn (Daten) { this.treedata = []; // Löschen Sie die Baumliste data.forEach(item => { this.productTypes.set(Artikel-ID, Artikelname) this.typeList.push({ Schlüssel: Artikel-ID, Wert: Artikelname }) var node = { id: Artikel-ID, Bezeichnung: Artikelname } dies.treedata.push(Knoten) }) // Listeninformationen abrufen this.getlist() } }); Oder führen Sie beim Anfordern von Wörterbuchdaten eine nicht leere Wertbeurteilung durch. // Verwenden Sie den Wörterbuchtyp, um Daten vom Server anzufordern GetDictData(this.typeName).then(data => { wenn (Daten) { Daten.fürJeden(Element => { wenn (Element && Typ von (Element.Wert) !== 'undefiniert' && Element.Wert !== '') { das.dictItems.push(Artikel) } }); } }) Die Methode forEach() wird auch verwendet, um für jedes Element im Array einmal eine Rückruffunktion auszuführen, sie hat jedoch keinen Rückgabewert (oder ihr Rückgabewert ist undefiniert, selbst wenn wir eine return-Anweisung in die Rückruffunktion schreiben, ist der Rückgabewert immer noch undefiniert). Hinweis: Wenn forEach zwei Parameter enthält, ist der erste Parameter das Element in der Sammlung und der zweite Parameter der Index der Sammlung. 4. Object.assign-ZuweisungsmethodeIn einigen Fällen müssen wir eine neue Sammlung in ein anderes Objekt kopieren und die Eigenschaftswerte des ursprünglichen Objekts ersetzen. In diesem Fall können wir die Zuweisungsmethode des Object-Objekts verwenden. Beispielsweise werden beim Anzeigen der Bearbeitungsoberfläche die angeforderten Objekteigenschaften in das Formularobjekt kopiert. var param = { id: id } GetProductDetail(param).then(data => { Objekt.zuweisen(this.editForm, Daten); }) Oder holen Sie sich bei der Abfrage die Abfragebedingungen und führen Sie einen teilweisen Ersatz durch // Konstruieren Sie reguläre Paging-Abfragebedingungen var param = { Typ: dieser.Produkttyp === 'alle' ? '' : dieser.Produkttyp, Seitenindex: diese.Seiteninfo.Seitenindex, Seitengröße: this.pageinfo.pagesize }; // Fügen Sie die SearchForm-Bedingungen zu param hinzu und senden Sie die Abfrage param.type = this.searchForm.ProductType // Konvertieren Sie in das entsprechende Attribut Object.assign(param, this.searchForm); 5. slice()-MethodeDie Methode slice() gibt ausgewählte Elemente aus einem vorhandenen Array zurück. Die Syntax ist wie folgt. arrayObject.slice(Start, Ende) Wie im folgenden Fall gezeigt. lass rot = parseInt(Farbe.Scheibe(0, 2), 16) lass grün = parseInt(color.slice(2, 4), 16) lass blau = parseInt(Farbe.Scheibe(4, 6), 16) Oder wir können die Filterfunktion kombinieren, um einen Teil der Symbolsammlung zu erhalten vueAwesomeIconsFiltered: Funktion () { const das = dies var Liste = that.vueAwesomeIcons.filter(Element => { return Element.indexOf(that.searchForm.label) >= 0 }) wenn (that.searchForm.pagesize > 0) { returniere list.slice(0, that.searchForm.pagesize) } anders { Liste zurückgeben; } } Oben sind die Details der herkömmlichen JS-Verarbeitungsfunktionen der Front-End-Anwendungsentwicklung von Vue Element aufgeführt. Weitere Informationen zu den herkömmlichen JS-Verarbeitungsfunktionen von Vue Element finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
>>: So implementieren Sie eine MySQL-Datenbanksicherung in Golang
Verwenden des Proxy-Cache von Nginx zum Erstellen...
RDF und OWL sind zwei wichtige semantische Webtec...
JS berechnet den Gesamtpreis der Waren im Warenko...
Der Wachstumspfad vom Linux-Neuling zum Linux-Mei...
1. Verwenden Sie Pseudoklassen, um die Hälfte des...
HTML-Seitensprung: Fenster.öffnen(URL, "&quo...
In diesem Dokument werden die Installations- und ...
In diesem Artikel wird der spezifische Code von j...
1. Wählen Sie in der Menüleiste „Bearbeiten“ → „V...
Frage Bei der Installation von Docker mithilfe de...
Zum Ausführen von Docker sind Root-Rechte erforde...
Vorschlag: Das möglichst häufige handschriftliche ...
Methode 1: Installieren Sie das Plugin über npm 1...
Inhaltsverzeichnis Layoutteil: <div id="a...
Original-URL: http://segmentfault.com/blog/ciaocc/...