⊗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
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу