⊗jsSpOtRO 270 of 294 menu

Atkārtotu operāciju optimizēšana JavaScript

Bieži vien iesācēji programmētāji bezdomīgi veic viena un tā paša funkcijas izsaukumu vairākas reizes, iztērējot resursus.

Apskatīsim piemērā. Pieņemsim, ka mums ir dota virkne, kas satur kādu ceļu:

let path = 'img.png';

Pieņemsim, ka mūsu uzdevums ir pārbaudīt, vai ceļš beidzas ar paplašinājumu .png vai .jpg. Kāds iesācējs programmētājs uzrakstīja šādu risinājumu:

let path = 'img.png'; if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') { console.log('+++'); } else { console.log('---'); }

Kas nav kārtībā ar šo risinājumu? Problēma ir tā, ka metode slice tiek izsaukta divas reizes, dara to pašu. Tas, protams, nav optimāli.

Lai optimizētu, nepieciešams veikt virknes atgriešanu vienu reizi, ierakstīt rezultātu mainīgajā un pēc tam izmantot šo mainīgo tālāk:

let path = 'img.png'; let ext = path.slice(-4); if (ext === '.png' || ext === '.jpg') { console.log('+++'); } else { console.log('---'); }

Optimizējiet zemāk redzamo kodu:

let num = 123; if (String(num)[0] === '1' || String(num)[0] === '2') { console.log('+++'); } else { console.log('---'); }

Optimizējiet zemāk redzamo kodu:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('weekend'); } else { console.log('weekday'); }

Optimizējiet zemāk redzamo kodu:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'year ' + date.getFullYear() + ' fits'; } else { res = 'year ' + date.getFullYear() + ' doesn't fit'; } console.log(res)
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt