JavaScript-da massiw öwürmegini optimizasiýa etmek
Setiri bir zat etmek üçin hemişe massiwe bölmek gerek däl. Bir mysala serediň. Aşakdaky kodymyz bar bolsun:
let num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
Bu ýerde näme üçin massiwe bölmek ýaman? Sebäbi, birinjiden, massiwe bölmek üçin prosessor çeşmeleri sarp edilýär, ikinjiden, alynan massiw operatiw ýatda orun eýeler (hem-de bu orun, setiriň özüniň eýelän ýerinden has uly bolar).
Aslynda, for-of
diňe massiwleri däl,
eýsem setirleri hem yzygiderli aýlap bolýar:
let num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Aşakdaky kod, input-a girizilen sanuň sanlarynyň jemyny gözleýär. Optimizasiýany ýerine ýetiriň:
<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şakdaky kod, setirdäki harp sanyny sanap berýär. Optimizasiýany ýerine ýetiriň:
let str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Aşakdaky kod, setirdäki nyşanyň bolşyny barlap görýär. Optimizasiýany ýerine ýetiriň:
let str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));