Optimizare prin funcții încorporate în JavaScript
Să presupunem că un programator verifică dacă
într-un array există numărul 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);
Afirm că ceva nu este în regulă cu acest cod.
Ce anume nu este în regulă, dacă ieșim din ciclu
după ce am găsit numărul 3? Problema este că
funcțiile încorporate în JavaScript întotdeauna
lucrează mai rapid decât codul similar scris manual.
În cazul nostru există funcția includes,
care rezolvă sarcina dată - și trebuie să folosim
exact această funcție:
javascriptlet arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Morala: înainte de a rezolva o sarcină, asigurați-vă întotdeauna că nu există o funcție încorporată în JavaScript pentru rezolvarea ei.
Următorul cod verifică dacă șirul
începe cu 'http'.
Efectuați optimizarea:
javascriptlet str = '';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Următorul cod umple array-ul cu o valoare dată. Efectuați optimizarea:
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;
}