اشیا و آرایه ها در زبان جاوا اسکریپت
برای خرید این درس نیاز است
وارد سایت شوید. در صورت نداشتن حساب کاربری
عضو شوید.
آرایهها و اشیا در زبان جاوا اسکریپت
معرفی آرایهها و اعمال تغییرات روی عناصر آرایه
تا امروز ما در برنامهها با دادههای تکی کار میکردیم و متغیرهای تکی تعریف میکردیم. اما گاهی نیاز است که تعدادی از دادهها را در کنار یک دیگر و به عنوان یک پکیج نگه داریم و به صورت یکجا از آنها استفاده کنیم. برای این کار نیاز به تعریف یک آبجکت داریم، تعریف آبجکت شبیه به تعریف متغیر است با این تفاوت که در مقابل علامت «=» یک علامت «{}» گذاشته و درون آن متغیر و مقادیر را وارد میکنیم. ساختار کلی این دستور به شکل زیر میباشد.
نوع داده نام آبجکت ={مقدار:نام متغیر, مقدار:نام متغیر };
برای مثال قصد داریم آبجکتی تعریف کنیم که حاوی اطلاعات یک شخص باشد. این اطلعات شامل نام، نام خانوادگی سن و معدل است.
var person={name:"Mehdi",family:"Abbasi",age:39,avg=18.5};
حال میخواهیم به متغیرهای درون آبجکت دسترسی یافته و در صورت نیاز آنها را در خروجی نمایش دهیم. برای دسترسی به هریک از متغیرهای درون آبجکت، نیاز است که نام آبجکت را نوشته و بعد از علامت «.» نام آن متغیر را بنویسیم. ساختار کلی آن به شکل زیر میباشد.
person.name;
person.family;
person.age;
person.avg;
حال برای نمایش این مقادیر در خروجی میتوانیم آنها را درون یک متغیر ریخته و آن متغیر را نمایش دهیم و یا به صورت مستقیم آن را نمایش دهیم.
var person={name:"Mehdi",family:"Abbasi",age:39,avg:18.5};
var n=person.name;
alert(n);
alert(person.avg);
دسترسی به متغیرهای آبجکت با استفاده از علامت «[]» نیز امکان پذیر است، اما نباید از علامت «.» استفاده کنیم. نمونهای از آنرا در کد زیر مشاهده میکنیم.
var person={name:"Mehdi",family:"Abbasi",age:39,avg:18.5};
alert(person['age']);
alert(person["age"]);
ما این امکان را داریم که بعد از ساخت آبجکت، متغیرهایی را به به آن اضافه کنیم. برای این کار نیاز است که نام آبجکت را نوشته و در مقابل آن نام متغیر جدید و مقدار را مینویسیم. ساختار کلی آن به شکل زیر میباشد.
نام آبجکت . نام متغیر جدید = مقدار;
حال قصد داریم به آبجکتی که ساختهایم یک متغیر به عنوان کد شخص اضافه کنیم، برای این کار به شکل زیر عمل میکنیم.
همچنین امکان حذف از آبجکتها نیز موجود است. برای این کار از کلمه کلیدی delete استفاده میکنیم. ساختار کلی این دستور به شکل زیر میباشد.
delete نام آبجکت . نام متغیر;
حال قصد داریم که متغیر کد شخص را از آبجکت حذف کنیم. برای این کار به شکل زیر عمل میکنیم.
دستور for in
دستور for برای زمانهایی قابل کاربرد است که ما از پیش میدانیم که عملیات تکرار قرار است چندبار تکرار شود. برای مثال اگر در قرار باشد متغیرهای یک آبجکت 20 تایی را در خروجی نمایش دهیم، میتوانیم از دستور for استفاده کنیم. اما اگر تعداد متغیرهای درون آبجکت را ندانیم چه باید کرد؟
برای حرکت کردن روی تک تک خانههای یک مجموعه و اجرای عملیاتهای متفاوت مانند چاپ روی آنها، میتوانیم از دستور for in استفاده کنیم. اگر از دستور for in استفاده کنیم دیگر نیاز نیست که قبل از انجام عمل تکرار، تعداد تکرار را بدانیم و این دستور به صورت خود کار تعداد دفعات تکرار را تشخیص میدهد. ساختار کلی این دستور به شکل زیر میباشد.
for(نوع داده نام متغیر in نام مجموعه)
{
}
حال میخواهیم همهی متغیرهای درون آبجکت را در خروجی نمایش دهیم.
var person={name:"Mehdi",family:"Abbasi",age:39,avg:18.5};
for(var item in person)
{
console.log(item);
}
اگر تنها نام متغیر حلقه را درون دستور log و یا دیگر دستورات نمایش در خروجی بنویسیم، تنها نام متغیرها در خروجی نمایش داده میشود و برای نمایش مقدار آنها باید به آنها دسترسی پیدا کرده و سپس آنرا در خروجی نمایش دهیم.
var person={name:"Mehdi",family:"Abbasi",age:39,avg:18.5};
for(var item in person)
{
console.log(person.name);
}
توجه داشته باشید که میتوان خود آبجکت را درون دستور log و یا دیگر دستورات نمایش در خروجی نوشت، اما در این صورت شمای کلی و همان حالت کد نویسی در خروجی نمایش داده میشود.
معرفی آرایهها و اعمال تغییرات روی عناصر آرایه
یکی دیگر از مجموعه در زبان برنامه نویسی جاوا اسکریپت، آرایهها هستند. آرایههای نیز مانند آبجکتها به ما کمک میکنند تا تعدادی زیادی از دادهها را در کنار یک دیگر ذخیره کنیم. برای تعریف آرایه دو روش وجود دارد، برای روش اول از علامت «[]» استفاده میکنیم. ساختار کلی روش اول این دستور به شکل زیر میباشد.
ساختار کلی روش دوم این روش به شکل زیر میباشد.
نوع داده نام آرایه = new Array();
دستور length
به کمک دستور length میتوانیم تعداد عناصر درون آرایه را به دست آوریم.ساختار کلی این دستور به شکل زیر میباشد.
حال قصد داریم تعداد مقادیر درون یک آرایه را در خروجی نمایش دهیم.
var array1=[];
alert(array1.length);
برای پر کردن آرایهای که با اولین روش تعریف شد، به شکل زیر عمل میکنیم.
var array1=["Mehdi","Ali","Amir","Reza"];
این نکته قابل توجه است که خانههای آرایه مانند آبجکت برچسب نداشته و برای دسترسی به خانههای آرایه باید از شماره خانههای آنها استفاده کرد. این شماره خانه از صفر شروع شده و به تعداد خانههای آرایه افزایش مییابند. ساختار کلی این دستور به شکل زیر میباشد.
حال قصد داریم سومین خانه آرایه که همان شماره خانه 2 است را در خروجی نمایش دهیم.
var array1=["Mehdi","Ali","Amir","Reza"];
alert(array1[2]);
نوع داده let
اگر یک متغیر را از نوع دادهای var تعریف کنیم در تمام برنامه میتوانیم از آن استفاده کنیم. برای مثال زمانی که ما از دستور for استفاده میکنیم، متغیر شمارنده آن را در بیرون for نیاز نداریم اما چون آنرا از نوع دادهای var تعریف کردهایم، در بیرون for نیز قابل دسترسی است و شاید این خواسته ما نباشد. برای جلو گیری از این اتفاق میتوانیم از نوع دادهای let استفاده کنیم. این نوع داده در بیرون از بلاک اختصاصی خود غیر قابل دسترس بوده و از بین میرود. حال قصد داریم که با استفاده از دستور for، خانههای آرایه را در خروجی نمایش دهیم. دقت کنید که نوع دادهای آن let بوده و شمارنده از صفر تا تعداد خانههای آرایه پیش میرود.
var array1=["Mehdi","Ali","Amir","Reza"];
for(let i=0;i<array1.length;i++)
{
console.log(array1[i]);
}
اگر متغیری را که از نوع دادهای let تعریف کردهایم را بیرون از بلاک اختصاصی(برای مثال بیرون از بلاک دستور for) و درون دستور log بنویسیم، خواهیم دید که در پنجره console مرورگر پیغام خطا نمایان میشود.
دستور for of
برای این که خانههای آرایه را به وسیله حلقه تکرار در خروجی نمایش دهیم، نیاز به دستور for of داریم. تنها تفاوت این دستور با دستور for in این است که به جای کلمه in از of استفاده میکنیم. ساختار کلی این دستور به شکل زیر میباشد.
for(نوع داده نام متغیر in نام مجموعه)
{
}
حال میخواهیم به کمک دستور for of، خانههای آرایه را در خروجی نمایش دهیم.
var array1=["Mehdi","Ali","Amir","Reza"];
for(let item of array1)
{
console.log(item);
}
این نکته قابل توجه است که در دستور for in متغیر شمارند خود مقدار است و اگر آنرا در خروجی نمایش دهیم، خود مقدار نمایش داده میشود نه نام میغیر.
یکی از مهمترین ویگیهای زبان برنامه نویسی جاوا اسکریپت امکان تعریف آرایه با چند نوع داده است و ما میتوانیم چند نوع داده را در کنار یکدیگر نگه داریم. کد زیر این موضوع را به خوبی بیان میکند.
var array1=["darsman.com",200,true,19.87];
حال میدانیم که درون آرایه میتوانیم از هر نوع دادهای استفاده کنیم، حتی آبجکت. همان طور که در متن بالا متوجه شدیم، آبجکت یک نوع داده بوده و میتوانیم درون آرایه از آن استفاده کنیم. یعنی هر یک از خانههای آرایه خود یک آبجکت باشد که این آبجکت نیز حاوی چند مقدار است. برای استفاده از آبجکتها درون آرایه باید از علامت «{}» استفاده کنیم. ساختار کلی این دستور به ششکل زیر میباشد.
نوع داده نام آرایه = [
{مقدار:نام متغیر, مقدار:نام متغیر },
{مقدار:نام متغیر, مقدار:نام متغیر },
{مقدار:نام متغیر, مقدار:نام متغیر }
];
حال میخواهیم مشخصات چند شخص شامل نام، نام خانوادگی، سن و معدل را در کنار یکدیگر ذخیره کنیم.
var array1=[
{name:"Mehdi",family:"Abbasi",age:39,avg:19.9},
{name:"AmirHossein",family:"Farahani",age:17,avg:18.9},
{name:"Ali",family:"Koolivand",age:17,avg:18.9}
];
برای نمایش این آرایه در خروجی، نیاز به یک دستور for of داریم و درون آن یک دستور for in لازم است. دستور for of روی خانههای آرایه حرکت کرده و دستور for in درون آن، روی خانههای آبجکت حرکت میکند تا همهی اعضای کوچک آرایه نیز در خروجی نمایش داده شود.
for(let i of array1)
{
for(let j in i)
{
console.log(j+" "+i[j]);
}
}
نظر بدهید
نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است
وارد سایت شوید. در صورت نداشتن حساب کاربری
عضو شوید.
برای پاسخ باید وارد شوید