Optimeerimiseks JavaScripti sisseehitatud funktsioonide abil
Oletame, et programmeerija kontrollib, kas
massiivis on number 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);
Ma väidan, et selle koodiga on midagi valesti.
Mis siis viga, me ju lähme tsüklist välja
pärast seda, kui leidsime numbri 3? Asi on selles,
et JavaScripti sisseehitatud funktsioonid töötavad
alati kiiremini kui sarnane isekirjutatud
kood.
Meie puhul on olemas funktsioon includes,
mis lahendab püstitatud ülesande - ja kasutada
tuleks just seda funktsiooni:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Moraal: enne ülesande lahendamist kontrollige tingimata, kas selle lahendamiseks pole JavaScriptis sisseehitatud funktsiooni.
Järgmine kood kontrollib, kas string
algab 'http'-ga.
Tehke optimeerimine:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Järgmine kood täidab massiivi etteantud väärtusega. Tehke optimeerimine:
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;
}