⊗jsSpOtRHO 271 of 294 menu

JavaScript'te Ağır İşlemlerin Tekrarlanmasının Optimizasyonu

Önceki derste, fonksiyonların tekrarlanan çağrıları aslında çok az zaman alıyordu ve bizim optimizasyonumuz çok fazla tasarruf sağlamıyordu. Ancak, eğer yeterince uzun süre çalışan "ağır" bir fonksiyonu birkaç kez çağırırsak, durum çok daha kötü olacaktır.

Örneğin, bir sayının bölenlerini bulan bir fonksiyonumuz olsun:

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

Açıkçası, bu fonksiyon oldukça "ağır". Bu nedenle, aşağıdaki gibi bir kod yazmak kötü bir fikir olur:

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

Elbette, "ağır" işlemi bir kez yapıp sonucu bir değişkene kaydetmek ve ardından bu değişkeni gerekli yerlerde kullanmak daha iyidir:

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

Aşağıda verilen kodu optimize edin:

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; }
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet