⊗jsSpOtRHO 271 of 294 menu

Optimierung der Wiederholung aufwändiger Operationen in JavaScript

Im vorherigen Unterricht nehmen die wiederholten Funktionsaufrufe tatsächlich sehr wenig Zeit in Anspruch und unsere Optimierung würde nicht sehr viel einsparen. Allerdings wird alles viel schlimmer, wenn wir mehrere Male eine "schwere" Funktion aufrufen, die relativ lange Ausführungszeit benötigt.

Nehmen wir zum Beispiel an, wir haben eine Funktion, die die Teiler einer Zahl findet:

function getDivisorsSum(num) { let res = 0; for (let i = 1; i <= num; i++) { if (num % i === 0) { res += i; } } return res; }

Offensichtlich ist diese Funktion recht "schwer". Daher wäre es eine schlechte Idee, einen Code wie diesen zu schreiben:

let num = 123456; if (getDivisorsSum(num) >= 10 && getDivisorsSum(num) <= 100) { console.log('+++'); } else { console.log('---'); }

Besser ist es natürlich, die "schwere" Operation einmal auszuführen, das Ergebnis in einer Variable zu speichern und diese Variable dann an den benötigten Stellen zu verwenden:

let num = 123456; let sum = getDivisorsSum(num); if (sum >= 10 && sum <= 100) { console.log('+++'); } else { console.log('---'); }

Optimieren Sie den untenstehenden Code:

let num = 1233456789; if (getSumSquare(num) >= 10 && getSumSquare(num) <= 100) { console.log('+++'); } else { console.log('---'); } function getSumSquare(num) { let digits = String(num).split(''); let sum = 0; for (let digit of digits) { sum += digit ** 2; } return sum; }
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