⊗jsSpOtRO 270 of 294 menu

Optimierung wiederholter Operationen in JavaScript

Oft führen Anfänger unbedacht denselben Funktionsaufruf mehrmals aus und verschwenden Ressourcen.

Schauen wir uns ein Beispiel an. Angenommen, wir haben einen String, der einen bestimmten Pfad enthält:

let path = 'img.png';

Angenommen, unsere Aufgabe ist es, zu prüfen, ob der Pfad auf die Erweiterung .png oder .jpg endet. Ein Anfänger könnte die folgende Lösung geschrieben haben:

let path = 'img.png'; if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') { console.log('+++'); } else { console.log('---'); }

Was ist falsch an dieser Lösung? Das Problem ist, dass die Methode slice zweimal aufgerufen wird und dasselbe tut. Das ist natürlich nicht optimal.

Zur Optimierung muss der Ausschnitt des Strings nur einmal ausgeführt, das Ergebnis in einer Variable gespeichert und diese Variable dann weiterverwendet werden:

let path = 'img.png'; let ext = path.slice(-4); if (ext === '.png' || ext === '.jpg') { console.log('+++'); } else { console.log('---'); }

Optimieren Sie den untenstehenden Code:

let num = 123; if (String(num)[0] === '1' || String(num)[0] === '2') { console.log('+++'); } else { console.log('---'); }

Optimieren Sie den untenstehenden Code:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('Wochenende'); } else { console.log('Werktag'); }

Optimieren Sie den untenstehenden Code:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'Jahr ' + date.getFullYear() + ' passt'; } else { res = 'Jahr ' + date.getFullYear() + ' passt nicht'; } console.log(res)
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen