Optimalizálás beépített függvényekkel JavaScriptben
Tegyük fel, hogy egy programozó ellenőrzi, hogy van-e
a tömbben 3 szám:
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);
Azt állítom, hogy valami nem stimmel ezzel a kóddal.
Mi a baj, hiszen kilépünk a ciklusból,
miután megtaláltuk a 3 számot? Az a helyzet,
hogy a JavaScript beépített függvényei mindig
gyorsabban működnek, mint egy hasonló, saját készítésű
kód.
Esetünkben létezik a includes függvény,
amely megoldja a feladatot, - és ezt
a függvényt kell használni:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Tanulság: egy feladat megoldása előtt mindig ellenőrizd, hogy van-e rá beépített JavaScript függvény.
A következő kód ellenőrzi, hogy a string
'http'-vel kezdődik-e.
Végezd el az optimalizálást:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
A következő kód tölti fel a tömböt egy megadott értékkel. Végezd el az optimalizálást:
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;
}