JavaScriptda massivga aylantirishni optimallashtirish

Har doim stringni massivga ajratish shart emas, unga biror ish qilish uchun. Keling, bir misolni ko'rib chiqaylik. Quyidagi kodimiz bor deb faraz qilaylik:

javascriptlet num = 123456789;
let arr = String(num).split('');
let sum = 0;

for (let elem of arr) {
  sum += +elem;
}

console.log(sum);

Nega bu yerda massivga ajratish yomon? Chunki, birinchidan, massivga ajratish protsessor resurslarini sarflaydi, ikkinchidan, olingan massiv operativ xotirada joy egallaydi (hatto, bu joy string o'zi egallagan joydan ko'proq bo'ladi).

Aslida for-of yordamida nafaqat massivlarni, balki stringlarni ham aylantirish mumkin:

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

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

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

Quyidagi kod inputga kiritilgan raqamning raqamlari yig'indisini qidiradi. Optimallashtirishni bajaring:

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

Quyidagi kod stringdagi harflar sonini hisoblaydi. Optimallashtirishni bajaring:

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

let i = 0;

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

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

Quyidagi kod stringda belgi mavjudligini tekshiradi. Optimallashtirishni bajaring:

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

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