Optimizavimas naudojant įmontuotas JavaScript funkcijas
Tarkime, programuotojas tikrina, ar
masyve yra skaičius 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);
Teigiu, kad su šiuo kodu kažkas ne taip.
Kas gi negerai, mes išeiname iš ciklo
po to, kai radome skaičių 3? Esmė ta,
kad įmontuotos JavaScript funkcijos visada
veikia greičiau nei analogiškas savadarbis
kodas.
Mūsų atveju egzistuoja funkcija includes,
sprendžianti iškeltą uždavinį, - ir naudoti
reikia būtent šią funkciją:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Moralas: prieš sprendžiant uždavinį būtinai patikrinkite, ar nėra jo sprendimui įmontuotos JavaScript funkcijos.
Tolimesnis kodas tikrina, ar eilutė
prasideda 'http'.
Atlikite optimizavimą:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Tolimesnis kodas užpildo masyvą nurodyta reikšme. Atlikite optimizavimą:
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;
}