# ফর লুপ(For loop)

আপনি যদি ডেভেলপমেন্ট করতে যান বার বার আপনাকে এই লুপ এর সাথে এক বন্ধুত্ব পূর্ণ বন্ধনে আবদ্ধ হতে হবে। বড় বড় ডাটা গুলো নিয়ে যখনই আপনি কাজ করতে যাবেন তখনই আপনাকে লুপের শরণাগত হতে হবে।&#x20;

আর কথা না বাড়িয়ে দেখে নেই লুপের কাঠামোটা দেখেতে কেমনঃ-

for loop syntex

```javascript
//for loop syntex

for(iterator; condition; increment or decrement){
   //statement
}
```

for of loop syntex

```javascript
// arrayValue     array
for(arrayValue of array){
   //statement 
}
```

for in loop syntex

```javascript
// array Index    array
for(arrayIndex in array){
    //statement
}
```

আশা করি রুপ দেখে মুগ্ধ হন নি । না হওয়ার ই কথা কারণ এইরকম উদ্ভট রুপ কারো হয় এই যুগে? একটু মেকাপ না করলে । ইয়ে মানে ! আরেকটু গোছালো ভাবে লিখতে হবে তাই তো। কিন্তু তার আগে কিভাবে ? কি ? এগুলো একটু জেনে নেই।

**For Loop:** ফর লুপ এর যেই চেহেরা দেখতে প্রায় সব ল্যাংগুয়েজে একি রকম। ফর লুপ ৩ টা আরগুমেন্ট নেই প্রথমটা হলো ইটেররেটর দ্বিতীয়টা কন্ডিশন চতুর্থটা হলো ইনক্রিমেন্টর বা ডিক্রেমেন্টর। তার মানে আপনি যদি ফর লুপ লিখতে চান আপনাকে তিনটা জিনিস জানতে হবে ইটারেটর, কন্ডিশন আর ইনক্রিমেন্ট ডিক্রিমেন্ট।&#x20;

এবার আসি কিছু উদাহরন নিয়ে কাজ করি।

মনে করেন আপনার মাকে ভালোবাসা দিবসে ১০০০ লাইন `I Love You` লিখে দিবেন। আর মনে করেন সেটা আগে থেকেই টিক করে রেখেছিলেন । কিন্তু অফিসের বা পড়ালেখার চাপে আপনি সেটা ভুলে গিয়েছেন এখন যখন মনে উঠেছে আপনার তখন অনেক দেরি কিন্ত 'নো চিন্তা ডু ফুর্তি ! খাই চিন্তা মন ফুর্তি!' আপনি জটপট করে শুধু মাত্র নিচের লাইন গুলো লিখে ফেলেন দেখবেন মুহুর্তেই ১০০০ I Love You লিখা হয়ে যাবে।

```javascript
let iterator=0;
let writeForMyMom=1000;
 /* initial value;       condition;        increment */
for(iterator;  writeForMyMom >= iterator; iterator++){
    //statment
    console.log("I Love You");
}
```

ব্যাখাঃ \[এখানে যা ঘটেছে সেটা হলো iterator varible এর জন্য একটি মান ০ (শূন্য) অস্যাইন করা হয়েছে। এবং writeForMyMom varible এর জন্য একটি মান ১০০০ অস্যাইন করা হয়েছে। এবং পরে ফর লুপ এর প্রথম অংশে iterator কে চেক করা হয়েছে এবং iterator এর মান writeForMyMom এর থেকে ছোট কিনা যদি ছোট হয় তাহলে iterator মান ১ বৃদ্ধি করা হয়েছে । এর পর আবার একি ভাবে চেক করা হয়েছে ১০০০ বার চেক করা হয়েছে। ]

চলুন আরো একটা উদাহরণ দেখে নেই । মনে করেন আপনি আর আপনার বন্ধু দুইজনে মিলে একটা গেমস খেলবেন যেটাতে পাঁচ বার এলোমেলো নাম্বার যোগ করতে হবে আর যোগ করে যার নাম্বার যত বেশি হবে সে বিজয়ী হবে। তো চলেন শুরু করে দেই ।

```javascript
let sum=0;
let sum2 =0;
for(let i=0; i<5; i++){ 
    sum=sum+Math.random();                                    
} 

for(let j=0; j<5; j++){                                      
    sum2=sum2+Math.random();                                    
}
if(sum>sum2){                                                 
    console.log("You are Winner beacase you got "+sum+" And your firend got " +sum2);   
}else{                                                       
  console.log("Your friend is the winner becasue you got "+sum+" And your friend got "+sum2);         
  } 
```

জিনিসটা কিন্তু খুব মজার তাই না । এখন আপনার কাজ হলো এই প্রোগ্রামটা কে একটু পরিবর্তন করে নেওয়া । তো আপনার যেটা করতে হবে সেটা হলো যদি এলো মেলো নাম্বারটা বিজোড় হয় তাহলে যোগ করতে হবে ব্যস এই কাজ টা করা হলেই কাজ শেষ। করা হলে আপনি প্রথমে গিট করবেন তারপর গিট করা হলে আমাকে মেইল করে দিবেন যদি মনে করেন আমাকে করা উচিত।
