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:
let 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:
let num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Quyidagi kod inputga kiritilgan raqamning raqamlari yig'indisini qidiradi. Optimallashtirishni bajaring:
<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);
});
Quyidagi kod stringdagi harflar sonini hisoblaydi. Optimallashtirishni bajaring:
let str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Quyidagi kod stringda belgi mavjudligini tekshiradi. Optimallashtirishni bajaring:
let str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));