⊗jsSpOtLO 272 of 294 menu

Optimasi Operasi Siklis dalam JavaScript

Bahkan operasi ringan, yang diulang berkali-kali dalam sebuah loop, dapat menghabiskan banyak sumber daya.

Mari kita lihat sebuah contoh. Misalkan kita memiliki sebuah array:

let arr = [1, 2, 3, 4, 5, 6];

Mari kita cari rata-rata dari elemen array ini. Untuk melakukannya, kita perlu mencari jumlah elemen dan membaginya dengan jumlah elemen. Misalkan seorang programmer telah menyelesaikan masalah ini dengan cara berikut:

let avg = 0; for (let elem of arr) { avg += elem / arr.length; } console.log(avg);

Mari kita pertimbangkan masalah dari solusi ini. Secara teknis, kode ini berfungsi dengan benar dan memberikan jawaban yang benar. Masalahnya adalah secara matematis benar baik membagi seluruh jumlah dengan jumlah elemen, maupun membagi setiap elemen dengan jumlah elemen.

Namun, muncul masalah lain. Masalahnya adalah kita akan melakukan operasi pembagian sebanyak elemen dalam array kita. Dan ternyata, kita melakukan banyak operasi yang tidak perlu, karena pembagian bisa dilakukan di akhir - hanya sekali, dengan membagi seluruh jumlah yang telah ditemukan.

Mari kita optimalkan kode kita:

let sum = 0; for (let elem of arr) { sum += elem; } let avg = sum / arr.length; console.log(avg);

Optimalkan kode berikut:

for (let i = 1900; i <= 2100; i++) { let curr = new Date; let date = new Date(i, curr.getMonth(), curr.getDate()); if (curr.getDay() === date.getDay()) { console.log(date); } }

Optimalkan kode berikut:

let obj = {a: 10, b: 20, c: 30, d: 40, e: 50}; let sum = 0; for (let key in obj) { if (String(obj[key])[0] === '1' || String(obj[key])[0] === '2') { sum += obj[key]; } } console.log(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