⊗jsSpOtRO 270 of 294 menu

Optimalisering av gjentatte operasjoner i JavaScript

Ofte gjør nybegynnerprogrammerere ubetenksomt the samme funksjonskall flere ganger, noe som forbruker ressurser.

La oss se på et eksempel. Anta at vi har en streng som inneholder en sti:

let path = 'img.png';

Anta at oppgaven vår er å sjekke om stien slutter med filendelsen .png eller .jpg. En nybegynnerprogrammerer skrev følgende løsning:

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

Hva er galt med denne løsningen? Problemet er at metoden slice kalles to ganger, og gjør det samme. Dette er selvfølgelig ikke optimalt.

For å optimalisere bør du kutte strengen en gang, lagre resultatet i en variabel, og deretter bruke denne variabelen videre:

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

Optimaliser koden nedenfor:

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

Optimaliser koden nedenfor:

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

Optimaliser koden nedenfor:

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)
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis