⊗jsSpOtRHO 271 of 294 menu

Optimasi Pengulangan Operasi Berat dalam JavaScript

Dalam pelajaran sebelumnya, pemanggilan fungsi berulang sebenarnya membutuhkan waktu yang sangat sedikit dan optimasi kita tidak akan menghemat banyak. Namun, segala sesuatu akan menjadi jauh lebih buruk jika kita beberapa kali memanggil fungsi "berat" yang dieksekusi dalam waktu yang cukup lama.

Misalnya, kita memiliki fungsi yang menemukan pembagi angka:

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

Jelas bahwa fungsi ini cukup "berat". Oleh karena itu, ide yang buruk adalah menulis kode seperti ini:

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

Tentu saja, lebih baik melakukan operasi "berat" sekali saja dan mencatat hasilnya dalam variabel, lalu menggunakan variabel ini di tempat yang dibutuhkan:

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

Optimalkan kode di bawah ini:

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; }
Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak