জাভাস্ক্রিপ্টে অ্যারে রূপান্তর অপ্টিমাইজেশন
স্ট্রিংকে কিছু করতে গেলে সবসময় এটিকে অ্যারেতে বিভক্ত করার প্রয়োজন হয় না। আসুন একটি উদাহরণ দেখি। ধরা যাক আমাদের নিম্নলিখিত কোড রয়েছে:
javascriptlet num = 123456789;
let arr = String(num).split('');
let sum = 0;
for (let elem of arr) {
sum += +elem;
}
console.log(sum);
এখানে অ্যারেতে বিভক্ত করা কেন খারাপ? কারণ, প্রথমত, অ্যারেতে বিভক্ত করতে প্রসেসর রিসোর্স ব্যয় হয়, দ্বিতীয়ত, ফলাফলস্বরূপ অ্যারেটি র্যামে জায়গা দখল করবে (এবং এটি সেই জায়গার চেয়ে বেশি হবে, যা স্ট্রিং本身 দখল করে)।
আসলে, for-of দিয়ে
শুধুমাত্র অ্যারে নয়, স্ট্রিংও
পুনরাবৃত্তি করা যায়:
javascriptlet num = 123456789;
let str = String(num);
let sum = 0;
for (let char of str) {
sum += +char;
}
console.log(sum);
Задание 1
নিম্নলিখিত কোডটি ইনপুটে প্রবেশ করানো সংখ্যার অঙ্কের যোগফল খুঁজে বের করে। অপ্টিমাইজেশন সম্পন্ন করুন:
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'));