⊗jsSpOtLO 272 of 294 menu

JavaScript да циклик операцияларини оптимизациялаш

Ҳатто энггил операция ҳам, агар цикл ичида қайта-қайта такрорланса, кўп ресурсларни йўқотади.

Келгила, мисолда кўрамиз. Бизда маълум бир массив бор дейлик:

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

Келгила, шу массив элементларининг ўртача қийматини топамиз. Бунинг учун элементлар йиғиндисини топиш ва уни умумий сонига бўлиш керак. Бир дастурчи бу масалани куйидагича ечган дейлик:

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

Келгила, бу ечимнинг муаммоларини кўриб чиқамиз. Техник жиҳатдан код тўғри ишлайди ва тўғри жавоб беради. Маса шундаки, математик жиҳатдан ҳам йиғиндини умумий сонга бўлиш тўғри, ҳар бир қўшилувчини алоҳида умумий сонга бўлиш ҳам тўғри.

Аммо, бошқа бир муаммо пайдо бўлади. Маса шундаки, биз бўлиш амалини массивдаги элементлар сонича такрорлаймиз. Натижада, биз кўпдан кўп ортиқча амаллар бажарамиз, чунки бўлишни ягона марта - oxirida, топилган бутун йиғиндини бўлиб ҳисоблаш мумкин эди.

Келгила, кодимизни оптимизация қиламиз:

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

Куйидаги кодни оптимизация қилинг:

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); } }

Куйидаги кодни оптимизация қилинг:

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);
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш