⊗jsSpOtIF 274 of 294 menu

Optimointi sisäänrakennetuilla funktioilla JavaScriptissä

Oletetaan, että ohjelmoija tarkistaa, onko taulukossa numero 3:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let exists = false; for (let elem of arr) { if (elem === 3) { exists = true; break; } } console.log(exists);

Väitän, että tämän koodin kanssa on jotain vialla. Mikä siinä on huonosti, eihän me poistuta silmukasta vasta sen jälkeen, kun olemme löytäneet numeron 3? Asia on niin, että JavaScriptin sisäänrakennetut funktiot toimivat aina nopeammin kuin vastaava itse kirjoitettu koodi.

Meidän tapauksessamme on olemassa funktio includes, joka ratkaisee asetetun tehtävän, - ja sitä pitäisi käyttää juuri tätä funktiota:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(arr.includes(3));

Opettavainen neuvo: ennen tehtävän ratkaisemista tarkista varmasti, onko sen ratkaisemiseksi JavaScriptin sisäänrakennettua funktiota.

Seuraava koodi tarkistaa, alkaako merkkijono 'http':lla. Suorita optimointi:

let str = 'http://code.mu'; if (str[0] + str[1] + str[2] + str[3] === 'http') { console.log('+++'); } else { console.log('---'); }

Seuraava koodi täyttää taulukon annetulla arvolla. Suorita optimointi:

let arr = fillArr('x', 5); console.log(arr); function fillArr(val, amount) { let arr = []; for (let i = 1; i <= amount; i++) { arr.push(val); } return arr; }
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää