⊗jsSpOtRO 270 of 294 menu

Pasikartojančių operacijų optimizavimas JavaScript

Dažnai pradedantys programuotojai be galvų iškviečia tą pačią funkciją kelis kartus, eikvodami resursus.

Pažiūrėkime į pavyzdį. Tarkime, mums duota eilutė, kurioje yra kažkoks kelias:

let path = 'img.png';

Tarkime, mes turime užduotį patikrinti, ar kelias baigiasi plėtiniu .png ar .jpg. Kažkoks pradedantis programuotojas parašė šį sprendimą:

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

Kas negerai su šiuo sprendimu? Problema ta, kad metodas slice iškviečiamas du kartus, darydamas tą patį. Tai, žinoma, neoptimalu.

Optimizuoti reikia atlikti eilutės nukirpimą vieną kartą, įrašyti rezultatą į kintamąjį, o tada naudoti tą kintamąjį toliau:

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

Optimizuokite žemiau pateiktą kodą:

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

Optimizuokite žemiau pateiktą kodą:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('savaitgalis'); } else { console.log('savaitės diena'); }

Optimizuokite žemiau pateiktą kodą:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'metai ' + date.getFullYear() + ' tinka'; } else { res = 'metai ' + date.getFullYear() + ' netinka'; } console.log(res)
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti