JavaScript-də Massivə Çevirmənin Optimallaşdırılması
Həmişə sətiri nə isə etmək üçün massivə bölmək lazım deyil. Gəlin nümunəyə baxaq. Tutaq ki, aşağıdakı kodumuz var:
let num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
Bəs niyə burada massivə bölmək pisdir? Çünki, birincisi, massivə bölmək prosesor resursları sərf edir, ikincisi, alınan massiv operativ yaddaşda yer tutacaq (və bu yer, sətrin özünün tutduğu yerdən daha çox olacaq).
Əslində isə for-of ilə
təkcə massivləri deyil,
həm də sətirləri qeyd edə bilərsiniz:
let num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Aşağıdakı kod inputa daxil edilmiş ədədin rəqəmlərinin cəmini tapır. Optimallaşdırmanı yerinə yetirin:
<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);
});
Aşağıdakı kod sətirdəki hərflərin sayını hesablayır. Optimallaşdırmanı yerinə yetirin:
let str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Aşağıdakı kod sətirdə simvolun olub-olmadığını yoxlayır. Optimallaşdırmanı yerinə yetirin:
let str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));