نحوه تعریف و استفاده از آرایه ها در جاوا اسکریپت

به مجموعه ای از سلولهای همجوار و هم نوع در حافظه، آرایه گفته می شود. هنگامی که قصد داشته باشید تعدادی زیادی متغیر در برنامه استفاده کنید به جای مثلا تعریف 10 متغیر می توانید آرایه ای با 10 خانه داشته باشید. در جاوا اسکریپت اندیس آرایه ها از صفر شروع شده و طول آرایه ها ثابت می باشد. برای مثال هنگامی که آرایه ای با طول 10 تعریف می نمایید امکان تغییر آن به 11 خانه وجود نخواهد داشت.

نحوه استفاده

آرایه یکی از پرکاربردترین عناصر برنامه نویسی در سی شارپ می باشد و نحوه تعریف آن به شکل زیر است.

var numbers = new Array(4);

در مثال فوق آرایه ای به نام numbers دارای4 خانه تعریف شده است. دسترسی به عناصر آرایه از طریق index (اندیس) امکان پذیر است. اندیس آرایه ها از صفر شروع شده و اندیس آخرین خانه یک واحد کمتر از تعداد عناصر می باشد. برای مثال در دستور فوق آرایه ای با 4 خانه تعریف شده است که اندیس اولین خانه 0 و اندیس آخرین خانه 3 می باشد. برای مقدار دهی عناصر آرایه به شکل زیر عمل می شود.

numbers[0] = 14;
numbers[1] = 81;
numbers[2] = 1;
numbers[3] = 93;

جهت استفاده و نمایش اطلاعات درون آرایه نیز می بایست از اندیس آن استفاده نمود.

document.write(numbers[0]);

در صورتیکه قصد داشته باشید به عنصری خارج از محدوده آرایه مثلا خانه 6 ام در مثال فوق، دسترسی داشته باشید با خطا مواجه خواهید شد.

مثال: برنامه ای بنویسید که نام 5 درس آموزشی از کاربر دریافت کرده، آنها را درون آرایه ذخیره کند و در نهایت محتوای آرایه را نمایش دهد.

تحلیل: برای پیمایش آرایه از حلقه for استفاده می شود. بنابراین برای حل این تمرین می توان حلقه ای با 5 بار تکرار ایجاد نمود.

<script>
    var courses = new Array(5);

    //پر کردن آرایه
    for(var i=0;i<5;i++){
      courses[i] = prompt('لطفا نام درس را وارد نمایید.');
    }

    //نمایش اطلاعات درون آرایه
    for(var i=0;i<5;i++){
      document.write(courses[i] + '<br />')
    }
</script>

در این مثال  از دو حلقه متفاوت، یکی برای پر کردن آرایه و دیگری برای نمایش اطلاعات درون آن استفاده شده است. همچنین در بخش نمایش اطلاعات درون آرایه، برای آنکه هریک از درس های وارد شده در یک خط مجزا نمایش داده شوند، در دستور document.write از تگ <br /> نیز بعد از نام درس اضافه شده است.

مثال: برنامه ای بنویسید که 5 عدد را به عنوان نمره دانشجو از کاربر دریافت کرده و درون آرایه ذخیره کند، سپس مجموع نمرات وی را محاسبه نماید.

<script>
    var numbers = new Array(5);
    var sum=0;
    //پر کردن آرایه
    for(var i=0;i<5;i++){
      numbers[i] =parseInt(prompt('لطفا  نمره را وارد نمایید.'));
    }

    //محسابه مجموع اعداد درون آرایه
    for(var i=0;i<5;i++){
      sum = sum + numbers[i];
    }
    document.write('The sum is: ' + sum);
</script>

نکته: در مثال فوق اگر به sum مقدار اولیه ندهید، با خطا  مواجه خواهید شد. زیرا متغیرها در اغلب زبان های برنامه نویسی قبل از استفاده باید مقداردهی شوند.

مثال: برنامه ای بنویسید که 5 نام را از کاربر دریافت کرده و درون آرایه ذخیره کند. سپس نام دیگری را دریافت کرده و درون آرایه جستجو کند، اگر بود پیغام found و در غیر اینصورت پیغام not found نمایش داده شود.

<script>
  var names = new Array(5);
  var search;
  var message='not found';

  //پر کردن آرایه
  for(var i=0;i<5;i++){
    names[i] = prompt('لطفا نام را وارد نمایید.');
  }
  search = prompt('لطفا نامی که قصد جستجوی آن را دارید وارد نمایید.');

  //جستجو درون آرایه
  for(var i=0;i<5;i++){
    if(names[i]==search){
      message ='found';
      break;
    }
  }
  document.write(message);
</script>

در مثال فوق متغیری به نام message و با مقدار اولیه not found تعریف شده است، در صورتی عدد وارد شده در آرایه وجود داشته باشد محتوای آن به found تبدیل شده و از حلقه خارج می شود.

تعریف و مقداردهی آرایه بصورت تک خطی

یکی دیگر از روش های مقداردهی آرایه، تعیین مقدار هنگام تعریف آن می باشد که در این حالت می توان مقادیر مورد نظر را بین علامت های [ ] قرار داد.

var cities=["tehran","esfahan","shiraz","tabriz","mashhad","kordestan"];

forEach

حالت خاصی از حلقه for به نام forEach وجود دارد که پیمایش بین عناصر یک آرایه را تسهیل می بخشد و نحوه استفاده از آن به شکل زیر است:

<script>
  var cities=["tehran","esfahan","shiraz","tabriz","mashhad","kordestan"];
  cities.forEach(item=>{
    document.write(item+"<br />");
  })
</script>

در این مثال درون forEach متغیری به نام item تعریف شده است که در هر مرحله به یکی از عناصر آرایه cities اشاره می کند.