⊗jsSpOtRHO 271 of 294 menu

Tối ưu hóa việc lặp lại các thao tác nặng trong JavaScript

Trong bài học trước, các lần gọi hàm lặp lại thực sự chỉ chiếm rất ít thời gian và việc tối ưu hóa của chúng ta sẽ tiết kiệm được không nhiều. Tuy nhiên, mọi thứ sẽ trở nên tồi tệ hơn nhiều nếu chúng ta thực hiện nhiều lần gọi một hàm "nặng", hàm mà mất một khoảng thời gian đáng kể để thực thi.

Giả sử, ví dụ, chúng ta có một hàm, hàm này tìm các ước số của một số:

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

Rõ ràng là hàm này khá "nặng". Do đó, viết code như thế này sẽ là một ý tưởng tồi:

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

Tất nhiên, tốt hơn là thực hiện thao tác "nặng" một lần và ghi kết quả vào một biến, rồi sau đó sử dụng biến đó ở những nơi cần thiết:

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

Hãy tối ưu hóa đoạn code bên dưới:

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; }
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối