Optimizare prin funcții încorporate în JavaScript
Să presupunem că un programator verifică dacă
într-un array există numărul 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);
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:
let 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:
let str = 'http://code.mu';
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:
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;
}