⊗jsSpOtRHO 271 of 294 menu

การเพิ่มประสิทธิภาพการทำงานซ้ำของขั้นตอนที่หนักใน JavaScript

ในบทเรียนก่อนหน้า การเรียกใช้ฟังก์ชันซ้ำๆ ใช้เวลาไม่มากนักและการเพิ่มประสิทธิภาพของเรา จะช่วยประหยัดได้ไม่มาก อย่างไรก็ตาม สถานการณ์จะแย่ลงมากหากเราเรียกใช้ ฟังก์ชัน "หนัก" ซึ่งใช้เวลาดำเนินการค่อนข้างนาน หลายครั้ง

ตัวอย่างเช่น สมมติว่ามีฟังก์ชันหนึ่งที่ หาตัวหารของตัวเลข:

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

เห็นได้ชัดว่าฟังก์ชันนี้ค่อนข้าง "หนัก" ดังนั้น การเขียนโค้ดแบบนี้จึงเป็นความคิดที่ไม่ดี:

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

ควรทำการดำเนินการ "หนัก" เพียงครั้งเดียว และบันทึกผลลัพธ์ลงในตัวแปร จากนั้นใช้ตัวแปรนั้นในตำแหน่งที่ต้องการ:

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

เพิ่มประสิทธิภาพโค้ดด้านล่าง:

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; }
ไทย
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ʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ