⊗jsSpOtRO 270 of 294 menu

Ismétlődő műveletek optimalizálása JavaScriptben

A kezdő programozók gyakran meggondolatlanul ugyanazon függvényt hívják meg többször, pazarolva az erőforrásokat.

Nézzünk egy példát. Tegyük fel, hogy adott egy sztring, amely egy bizonyos elérési utat tartalmaz:

let path = 'img.png';

Tegyük fel, hogy az a feladatunk, hogy ellenőrizzük, végződik-e az út a .png vagy .jpg kiterjesztéssel. Egyes kezdő programozók a következő megoldást írták:

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

Mi a baj ezzel a megoldással? A probléma az, hogy a slice metódus kétszer hívódik meg, ugyanazt csinálva. Ez természetesen nem optimális.

Az optimalizáláshoz egyszer kell végrehajtani a sztring levágását, el kell menteni az eredményt egy változóba, majd ezt a változót kell használni tovább:

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

Optimalizálja az alábbi kódot:

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

Optimalizálja az alábbi kódot:

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

Optimalizálja az alábbi kódot:

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)
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás