Optimizavimas naudojant įmontuotas JavaScript funkcijas
Tarkime, programuotojas tikrina, ar
masyve yra skaičius 3:
javascriptlet 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ą:
javascriptlet 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.
Задание 1
Tolimesnis kodas tikrina, ar eilutė
prasideda 'http'.
Atlikite optimizavimą:
javascriptlet str = '';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Задание 2
Tolimesnis kodas užpildo masyvą nurodyta reikšme. Atlikite optimizavimą:
javascriptlet 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;
}