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:

javascriptlet 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:

javascriptlet num = 123456789;
let str = String(num);
let sum = 0;

for (let char of str) {
  sum += +char;
}

console.log(sum);
Задание 1

Aşağıdakı kod inputa daxil edilmiş ədədin rəqəmlərinin cəmini tapır. Optimallaşdırmanı yerinə yetirin:

html<input>
javascriptlet 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);
});
Задание 2

Aşağıdakı kod sətirdəki hərflərin sayını hesablayır. Optimallaşdırmanı yerinə yetirin:

javascriptlet str = 'abcaab';
let arr = str.split('');

let i = 0;

for (let elem of arr) {
  if (elem == 'a') {
    i++;
  }
}

console.log(i);
Задание 3

Aşağıdakı kod sətirdə simvolun olub-olmadığını yoxlayır. Optimallaşdırmanı yerinə yetirin:

javascriptlet str = 'abcaab';
let arr = str.split('');

console.log(arr.includes('a'));