⊗jsSpOtAC 279 of 294 menu

การเพิ่มประสิทธิภาพการแปลงเป็นอาร์เรย์ใน JavaScript

การแยกสตริงเป็นอาร์เรย์ไม่จำเป็นเสมอไปเพื่อดำเนินการบางอย่าง มาดูตัวอย่างกัน สมมติว่าเรามีโค้ดต่อไปนี้:

let num = 123456789; let arr = String(num).split(''); let sum = 0; for (let elem of arr) { sum += +elem; } console.log(sum);

ทำไมการแยกเป็นอาร์เรย์จึงไม่ดีที่นี่? เพราะ ประการแรก การแยกเป็นอาร์เรย์ใช้ทรัพยากร CPU ประการที่สอง อาร์เรย์ที่ได้ จะใช้พื้นที่ในหน่วยความจำ RAM (และพื้นที่นั้น จะมากกว่าพื้นที่ที่สตริงต้นฉบับใช้)

และที่จริงแล้ว ด้วย for-of คุณสามารถวนลูปได้ไม่เพียงแต่กับอาร์เรย์ แต่ยังรวมถึงสตริงด้วย:

let num = 123456789; let str = String(num); let sum = 0; for (let char of str) { sum += +char; } console.log(sum);

โค้ดต่อไปนี้ค้นหาผลรวมของตัวเลขในตัวเลขที่ป้อน ในอินพุต ดำเนินการเพิ่มประสิทธิภาพ:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { let digits = input.value.split(''); let sum = 0; for (let digit of digits) { sum += +digit; } console.log(sum); });

โค้ดต่อไปนี้นับจำนวน ตัวอักษรในสตริง ดำเนินการเพิ่มประสิทธิภาพ:

let str = 'abcaab'; let arr = str.split(''); let i = 0; for (let elem of arr) { if (elem == 'a') { i++; } } console.log(i);

โค้ดต่อไปนี้ตรวจสอบการมีอยู่ของสัญลักษณ์ ในสตริง ดำเนินการเพิ่มประสิทธิภาพ:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
ไทย
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
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ