Optymalizacja poprzez wbudowane funkcje w JavaScript
Załóżmy, że pewien programista sprawdza, czy
w tablicy znajduje się liczba 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);
Twierdzę, że z tym kodem jest coś nie tak.
Co jest nie w porządku, przecież wychodzimy z pętli
po znalezieniu liczby 3? Chodzi o to,
że wbudowane w JavaScript funkcje zawsze
działają szybciej niż podobny kod napisany własnoręcznie.
W naszym przypadku istnieje funkcja includes,
która rozwiązuje postawione zadanie - i korzystać
należy właśnie z tej funkcji:
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(arr.includes(3));
Morał: przed rozwiązaniem zadania koniecznie sprawdź, czy nie ma dla jego rozwiązania wbudowanej funkcji JavaScript.
Następujący kod sprawdza, czy ciąg znaków
zaczyna się od 'http'.
Przeprowadź optymalizację:
let str = 'http://code.mu';
if (str[0] + str[1] + str[2] + str[3] === 'http') {
console.log('+++');
} else {
console.log('---');
}
Następujący kod wypełnia tablicę zadaną wartością. Przeprowadź optymalizację:
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;
}