(কোডিং জে এস)Coding JS
  • কোডিং JS
  • সূচিপত্র(Index)
  • ভূমিকা
  • লেখক পরিচিতি(Writer Intro)
  • ইতিহাস
  • জাভাস্ক্রিপ্টের বিস্তার কত দূর?
  • কাদের জন্য জাভাস্ক্রিপ্ট?
  • এনভায়রনমেন্ট সেটআপ
  • ব্রাউজার পরিচিতি
  • ভাল এডিটর বা আইডিই
  • জাভাস্ক্রিপ্টের ইঞ্জিন (JS Engine)
  • প্রথম প্রোগ্রাম = হ্যালো বাংলাদেশ
  • সিনট্যাক্স নিয়ে যত কথা।
  • ভেরি + এবল = ভেরিয়্যাবল কি?
  • ডেটা টাইপ
    • প্রিমিটিভ ডাটা টাইপ(Primitive data type)
      • বুলিয়ান (Boolean)
      • আন্ডিফাইন্ড (Undefined)
      • নাল (Null)
      • নাম্বার (Number)
      • বিগ ইন্টিজার (BigInt)
      • স্ট্রিং (String)
      • সিম্বল (Symbol)
    • নন-প্রিমিটিভ ডাটা টাইপ(Non-primitive data type)
      • অব্জেক্ট (Object)
      • অ্যারে(Array)
  • অপারেটর
  • কন্ডিশনাল কন্ট্রোল ফ্লো(Conditional Control flow)
  • লুপ এবং ইটারেশন(Loop & Iteration)
    • 🔃ফর লুপ(For loop)
    • 🔃ও্যাইয়ল লুপ (While Loop)
    • 📿পুনারাবৃত্তি (Iteration)
  • ফাংশন (Function)
    • রেগুলার ফাংশন (Regular Function)
    • অ্যারো ফাংশন(Arrow Function)
    • নেস্টেড ফাংশন ( Nested Function)
    • ক্লোজার ফাংশন(Closures Function)
    • আই. আই. এফ. ই. (IIFE)
    • হাইয়ার অর্ডার ফাংশন (Higher Order Function)
    • কারিং ফাংশন (Currying function)
    • এন এফ ই (NFE)
    • রিকার্সিভ ফংশন (Recursive Function)
    • জেনারেটর ফাংশন (Generator Function)
  • ক্লাস ও অবজেক্ট অরিয়েন্টেড (class & OOP)
    • মেম্বার ফাংশন (Member Function)
    • ইনহেরিটেন্স (Inhertance)
    • এনসকেপসুলেশন (Encapsulations)
    • অবস্ট্রাকশন(Abstraction)
    • পলিমরফিজম (Polymorphism)
  • কলব্যাক ফাংশন (callback function)
  • প্রমিস (Promise)
  • Async এবং await (Async & Await)
  • এজ্যাক্স (Ajax)
  • ফেচ (fetch)
  • ওয়েভ এপি আই(Web API)
    • ওয়েব স্টোরেজ (Web Storage)
      • বিস্কিটের টুকরো (Cookies)
      • সেশন (Session)
    • হিস্ট্রি এপি আই (History API)
    • জিওলোকেশন এপি আই (Geolocation API)
    • ওয়ার্কার এপি আই (Workers API)
    • ফর্ম এপি আই (Form API)
  • জে এস ডোম(JS DOM)
  • জে এস স্টাইল (JS Style)
  • এপিআই কী? (What is API)
    • SOAP API
    • রেস্ট এপি আই(REST API)
  • ফ্রেমওয়ার্ক লাইব্রেরী নিয়ে খোশ গল্প
  • জাভাস্ক্রিপ্টের বিল্ডইন কী ওয়ার্ড(Javascript Build in keyword)
  • কৃতজ্ঞতা স্বীকার
Powered by GitBook
On this page
Edit on GitHub
  1. লুপ এবং ইটারেশন(Loop & Iteration)

ফর লুপ(For loop)

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

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

for loop syntex

//for loop syntex

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

for of loop syntex

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

for in loop syntex

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

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

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

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

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

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 মান ১ বৃদ্ধি করা হয়েছে । এর পর আবার একি ভাবে চেক করা হয়েছে ১০০০ বার চেক করা হয়েছে। ]

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

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);         
  } 

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

Previousলুপ এবং ইটারেশন(Loop & Iteration)Nextও্যাইয়ল লুপ (While Loop)

Last updated 1 year ago

🔃