JavaScript Iterables
একটি পুনরাবৃত্তিমূলক বস্তু হল একটি বস্তু যা লুপের জন্য...এর মাধ্যমে পুনরাবৃত্তি করা যায়।
পুনরাবৃত্ত হতে পারে for...of loops এর সাথে।
The for...of Loop
স্টেটমেন্টের জন্য জাভাস্ক্রিপ্ট একটি পুনরাবৃত্তিযোগ্য বস্তুর উপাদানগুলির মধ্য দিয়ে লুপ করে।
Syntax
জন্য (পুনরাবৃত্তের পরিবর্তনশীল) { // চালানোর জন্য কোড ব্লক করুন }
পুনরুদ্ধার
পুনরাবৃত্ত উপাদান একটি অ্যারের উপর looping হয়.
এখানে কিছু উদাহরণ আছে:
স্ট্রিং রিবাউন্ড
একটি স্ট্রিং উপাদান উপর পুনরাবৃত্তি
সারি রিবাউন্ড
একটি অ্যারের উপাদানগুলির উপর পুনরাবৃত্তি করুন
সেটে ফিরুন
একটি সেটের উপাদানগুলির উপর পুনরাবৃত্তি করুন
মানচিত্রে ফিরে যান
একটি মানচিত্রের উপাদানগুলির উপর পুনরাবৃত্তি করুন
স্ট্রিং রিবাউন্ড
আপনি একটি স্ট্রিংয়ের উপাদানগুলির উপর পুনরাবৃত্তি করতে for...of লুপ ব্যবহার করতে পারেন:
Example
const name = "Jassif Team"; জন্য (নামের consst x) { // চালানোর জন্য কোড ব্লক করুন }
সারি রিবাউন্ড
আপনি একটি অ্যারের উপাদানগুলির উপর পুনরাবৃত্তি করতে for...of লুপ ব্যবহার করতে পারেন:
Example 1
const অক্ষর = ["a","b","c"]; জন্য (অক্ষরের সংখ্যা x) { // চালানোর জন্য কোড ব্লক করুন }
Example 2
const সংখ্যা = [2,4,6,8]; জন্য (সংখ্যার x সংখ্যা) { // চালানোর জন্য কোড ব্লক করুন }
সেটে ফিরুন
আপনি একটি সেটের উপাদানগুলির উপর পুনরাবৃত্তি করতে for...of লুপ ব্যবহার করতে পারেন:
Example
const অক্ষর = নতুন সেট(["a","b","c"]); জন্য (অক্ষরের সংখ্যা x) { // চালানোর জন্য কোড ব্লক করুন }
মানচিত্রে ফিরে যান
আপনি একটি মানচিত্রের উপাদানগুলির উপর পুনরাবৃত্তি করতে একটি for...of লুপ ব্যবহার করতে পারেন:
Example
const fruits = নতুন মানচিত্র([ ["আপেল", 500], ["কলা", 300], ["কমলা", 200] ]); জন্য (ফলের সংখ্যা x) { // চালানোর জন্য কোড ব্লক করুন }
JavaScript Iterators
পুনরাবৃত্তি প্রোটোকল সংজ্ঞায়িত করে কিভাবে একটি বস্তু থেকে মানগুলির একটি অ্যারে তৈরি করতে হয়।
পরবর্তী() পদ্ধতি চালু করা হলে একটি বস্তু ফেরত দেওয়া হয়।
পরবর্তী() পদ্ধতিতে দুটি বৈশিষ্ট্য সহ একটি বস্তু ফেরত দেওয়া উচিত:
| বৈশিষ্ট্য | ব্যাখ্যা |
|---|---|
| value | রিটার্ন দ্বারা প্রত্যাবর্তিত মান (সত্য হলে বাদ দেওয়া যেতে পারে) |
| done | সত্য যদি পুনরুদ্ধার সম্ভব হয় মিথ্যা যদি রিটার্ন একটি নতুন মান তৈরি করে |
প্রযুক্তিগত নোট:
প্রযুক্তিগতভাবে, iterables এর Symbol.iterator পদ্ধতি প্রয়োগ করা উচিত।
জাভাস্ক্রিপ্টে বিপরীত করা যায়
নিম্নলিখিতগুলি জাভাস্ক্রিপ্টে পুনরাবৃত্তিমূলক:
কারণ: তাদের উদাহরণ বস্তুর Symbol.iterator পদ্ধতি আছে।
হোম তৈরি বিপরীতমুখী
এই পুনরাবৃত্ত পরবর্তী() পদ্ধতিটি অসীম সংখ্যা ফেরত দেয় যখন বলা হয়: 10,20,30,40,….
Example
// হোম জেনারেটেড রিভার্সিবল ফাংশন myNumbers() { যাক n = 0; ফিরে পরবর্তী: ফাংশন() { n += 10; ফেরত {value:n, done:false}; } }; } // প্রত্যাবর্তনযোগ্য সক্ষম করুন const n = myNumbers(); n. পরবর্তী(); // রিটার্ন 10 n. পরবর্তী(); // রিটার্ন 20 n. পরবর্তী(); // রিটার্ন 30
দ্রষ্টব্য:
বিল্ট-ইন ইটারেবল... স্টেটমেন্টের জন্য জাভাস্ক্রিপ্ট সমর্থন করে না।
Symbol.iterator
জাভাস্ক্রিপ্ট ইটারেটর হল একটি বস্তু যাতে Symbol.iterator থাকে।
Symbol.iterator next() .
নিম্নলিখিত কোড দিয়ে একটি বিপরীতমুখী বিপরীত করা যেতে পারে:
এর জন্য (পুনরাবৃত্তের কনস্ট x) { // এখানে যেকোন কোড }
Example
// একটি বস্তু তৈরি করুন myNumbers = {}; // এটি বিপরীতমুখী করুন myNumbers[Symbol.iterator] = function() { যাক n = 0; সম্পন্ন = মিথ্যা; ফিরে পরবর্তী() { n += 10; যদি (n == 100) { সম্পন্ন = সত্য} ফেরত {মান:n, সম্পন্ন: সম্পন্ন}; } }; }
এখন আপনি এর জন্য ব্যবহার করতে পারেন:
জন্য (আমার সংখ্যার সংখ্যা) { // এখানে যেকোন কোড }
Symbol.iterator :
Symbol.iterator for..of . "" :
Example
let iterator = myNumbers[Symbol.iterator](); যখন (সত্য) { const ফলাফল = iterator.next(); if (result.done) বিরতি; // এখানে যেকোন কোড }
গুরুত্বপূর্ণ নোট
প্রতিক্রিয়ার সুবিধা:
রিকারসিভগুলি ডেটা অ্যারেগুলির সাথে কাজ করার একটি নিয়ন্ত্রিত উপায় প্রদান করে, বিভিন্ন ডেটা স্ট্রাকচারের জন্য কাস্টম পুনরাবৃত্ত যুক্তি সক্ষম করে৷
পরবর্তী অধ্যায়ে আপনি ECMAScript 2025-এ প্রবর্তিত নতুন ফিডব্যাক হেল্পার ফাংশন সম্পর্কে শিখবেন।
জাভাস্ক্রিপ্ট ইটারেবল টিউটোরিয়াল
নিম্নলিখিত কোড বিবেচনা করুন:
let firstname = 'Jim', i = 0;
for (const x of firstname) {
i++;
}
i এর মান কত হবে?