حلقه for-in در جاوا اسکريپت

8 / 10
از 8 کاربر

در این قسمت از مقالات طراحی سایت در بخش آموزش جاوا اسکریپت می خواهیم حلقه for-in در جاوا اسکریپت را توضیح دهیم .
از حلقه for-in در جاوا اسکریپت برای حرکت در درون اعضا یک آرایه یا مجموعه خواص یک شی استفاده می شود . به ازای خواندن هر يک از اعضا آرايه يا يکی از خواص شی مورد نظر ، يکبار دستورات درون حلقه اجرا خواهد شد .
تعداد دفعات تکرار دستورات حلقه ، برابر با تعداد اعضای آرايه و يا تعداد خواص شی مورد نظر است . در اين حلقه معمولا از يک متغير به عنوان شمارنده يا انديس آرايه استفاده می شود .
شکل کلی تعريف يک حلقه for...in به صورت زير است :

for   ( متغير   in   نام يک آرايه / مجموعه خواص يک شی )
  {
    دستورات بدنه حلقه
  }

در مثال زیر یک آرایه با نام Lesson برای نگهداری نام دروس کامپیوتر با 5 عضو ایجاد و مقداردهی شده است و وظیفه ی حلقه for-in حرکت در درون اعضای آرایه Lesson و چاپ نام تک تک آن ها به عنوان خروجی است .

< script type="text/javascript" >
  var n = 0 ;
  var i = 1 ;
  var Lessons = new Array( 5 ) ;
  Lessons[0] = "HTML" ;
  Lessons[1] = "CSS" ;
  Lessons[2] = "Visual Basic" ;
  Lessons[3] = "Java Script" ;
  Lessons[4] = "ASP.NET" ;
  for ( n   in   Lessons )
    {
      document.write ( "Lesson " + i + " = " + Lessons [n] + "<br / >") ;
      i++ ;
    }
< /script >    

خروجی : 


Lesson 1 = HTML
Lesson 2 = CSS
Lesson 3 = Visual Basic
Lesson 4 = Java Script
Lesson 5 = ASP.NET

فرض کنيد که در مثال بالا فقط می خواهيم نام دروسی از آرايه Lesson چاپ شود ، که شماره انديس آنها در آرایه زوج باشد . بنابراين در بدنه دستورات حلقه يک دستور continue با اين شرط که باقی مانده حاصل از تقسيم شماره انديس آرايه بر 2 برابر صفر نباشد را به قبل از دستور چاپ حلقه اضافه می کنيم . در اين صورت نام اعضايي از آرايه که شماره انديس آنها فرد است چاپ نمی شود و حلقه به انديس بعدی می رود :

< script type="text/javascript" >
  var n = 0 ;
  var i = 1 ;
  var Lessons = new Array( 5 ) ;
  Lessons[0] = "HTML" ;
  Lessons[1] = "CSS" ;
  Lessons[2] = "Visual Basic" ;
  Lessons[3] = "Java Script" ;
  Lessons[4] = "ASP.NET" ;
  for ( n   in   Lessons )
    {
      if ( n % 2 != 0 ) continue ;
      document.write ( "Lesson " + i + " = " + Lessons [n] + "<br / >") ;
      i++ ;
    }
< /script >
خروجی :   
Lesson 1 = HTML
Lesson 2 = Visual Basic
Lesson 3 = ASP.NET

ارسال نظر و نظرات ثبت شده