Optimizimi i Shndërrimit në Array në JavaScript
Nuk është gjithmonë e nevojshme të ndash një varg në një array për të bërë diçka me të. Le të shohim një shembull. Le të kemi kodin e mëposhtëm:
let num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
Pse është e keqe të ndash në array këtu? Sepse, së pari, ndarja në array harxhon burime të procesorit, së dyti, array-i i përftuar do të zërë vend në memorie operative (dhe madje ai vend do të jetë më i madh se vendi që zë vetë vargu).
Në fakt me for-of
mund të përsëritesh jo vetëm mbi array-a,
por edhe mbi vargje:
let num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Kodi i mëposhtëm kërkon shumën e shifrave të një numri të futur në input. Kryeni optimizimin:
<input>
let input = document.querySelector('input');
input.addEventListener('blur', function() {
let digits = input.value.split('');
let sum = 0;
for (let digit of digits) {
sum += +digit;
}
console.log(sum);
});
Kodi i mëposhtëm llogarit numrin e shkronjave në një varg. Kryeni optimizimin:
let str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Kodi i mëposhtëm kontrollon praninë e një simboli në një varg. Kryeni optimizimin:
let str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));