Массив ба Ҷаҳаннадиҳии таҳрирӣ дар JavaScript
Ҳамеша сатрро барои коре ба массив тақсим кардан зарур нест. Биёед ба мисол нигарем. Бигзор мо коди зеринро дорем:
javascriptlet num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
Чаро ба массив тақсим кардан дар ин ҷо бад аст? Азбаски, аввалан, барои тақсим ба массив сарфаи CPU лозим аст, дуввуман, массиви ҳосилшуда дар хотираи оперативӣ ҷой ишғол мекунад (ва он аз ҷоиеро, ки худи сатр ишғол мекунад, бештар аст).
Дар асл бо истифода аз for-of
танҳо массивҳо на, балки сатрҳоро низ метавон такрор кард:
javascriptlet num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Задание 1
Коди зерин ҷамъи рақамҳои рақами воридшударо дар input ҷустуҷӯ мекунад. Беҳтарсозиро иҷро кунед:
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
Коди зерин шумораи ҳарфҳоро дар сатр ҳисоб мекунад. Беҳтарсозиро иҷро кунед:
javascriptlet str = 'abcaab';
let arr = str.split('');
let i = 0;
for (let elem of arr) {
if (elem == 'a') {
i++;
}
}
console.log(i);
Задание 3
Коди зерин мавҷудияти рамзро дар сатр тафтиш мекунад. Беҳтарсозиро иҷро кунед:
javascriptlet str = 'abcaab';
let arr = str.split('');
console.log(arr.includes('a'));