10 KiB
اصول اولیه جاوااسکریپت: آرایهها و حلقهها
یادداشت تصویری توسط Tomomi Imura
آزمون پیش از درس
این درس اصول اولیه جاوااسکریپت، زبانی که تعامل در وب را فراهم میکند، پوشش میدهد. در این درس، درباره آرایهها و حلقهها که برای دستکاری دادهها استفاده میشوند، یاد خواهید گرفت.
🎥 روی تصاویر بالا کلیک کنید تا ویدیوهای مربوط به آرایهها و حلقهها را مشاهده کنید.
میتوانید این درس را در Microsoft Learn دنبال کنید!
آرایهها
کار با دادهها یک وظیفه رایج در هر زبان برنامهنویسی است و زمانی که دادهها در قالبی ساختاری مانند آرایهها سازماندهی شوند، این کار بسیار آسانتر میشود. با آرایهها، دادهها در ساختاری مشابه یک لیست ذخیره میشوند. یکی از مزایای بزرگ آرایهها این است که میتوانید انواع مختلف دادهها را در یک آرایه ذخیره کنید.
✅ آرایهها همه جا هستند! آیا میتوانید یک مثال واقعی از آرایهها، مانند آرایهای از پنلهای خورشیدی، ارائه دهید؟
نحو آرایه شامل یک جفت براکت مربعی است.
let myArray = [];
این یک آرایه خالی است، اما آرایهها میتوانند از قبل با دادهها پر شوند. مقادیر مختلف در یک آرایه با کاما جدا میشوند.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
مقادیر آرایه به یک مقدار منحصر به فرد به نام ایندکس اختصاص داده میشوند، که یک عدد صحیح است و بر اساس فاصله آن از ابتدای آرایه تعیین میشود. در مثال بالا، مقدار رشتهای "Chocolate" دارای ایندکس 0 است و ایندکس "Rocky Road" برابر با 4 است. از ایندکس همراه با براکتهای مربعی برای بازیابی، تغییر یا درج مقادیر آرایه استفاده کنید.
✅ آیا تعجب میکنید که آرایهها از ایندکس صفر شروع میشوند؟ در برخی زبانهای برنامهنویسی، ایندکسها از 1 شروع میشوند. تاریخچه جالبی در این مورد وجود دارد که میتوانید در ویکیپدیا بخوانید.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
iceCreamFlavors[2]; //"Vanilla"
میتوانید از ایندکس برای تغییر یک مقدار استفاده کنید، مانند این:
iceCreamFlavors[4] = "Butter Pecan"; //Changed "Rocky Road" to "Butter Pecan"
و میتوانید یک مقدار جدید را در یک ایندکس مشخص درج کنید، مانند این:
iceCreamFlavors[5] = "Cookie Dough"; //Added "Cookie Dough"
✅ یک روش رایجتر برای افزودن مقادیر به آرایه استفاده از عملگرهای آرایه مانند array.push() است.
برای اینکه بفهمید چند آیتم در یک آرایه وجود دارد، از ویژگی length
استفاده کنید.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
iceCreamFlavors.length; //5
✅ خودتان امتحان کنید! از کنسول مرورگر خود برای ایجاد و دستکاری یک آرایه که خودتان ساختهاید استفاده کنید.
حلقهها
حلقهها به ما اجازه میدهند وظایف تکراری یا تکراری را انجام دهیم و میتوانند زمان و کد زیادی را صرفهجویی کنند. هر تکرار میتواند در متغیرها، مقادیر و شرایط متفاوت باشد. انواع مختلفی از حلقهها در جاوااسکریپت وجود دارد که تفاوتهای کوچکی دارند، اما اساساً یک کار را انجام میدهند: حلقه زدن روی دادهها.
حلقه For
حلقه for
برای تکرار به 3 بخش نیاز دارد:
counter
یک متغیر که معمولاً با یک عدد مقداردهی اولیه میشود و تعداد تکرارها را شمارش میکندcondition
عبارتی که از عملگرهای مقایسهای استفاده میکند تا زمانی که مقدار آنfalse
شود، حلقه متوقف شودiteration-expression
در پایان هر تکرار اجرا میشود و معمولاً برای تغییر مقدار شمارنده استفاده میشود
// Counting up to 10
for (let i = 0; i < 10; i++) {
console.log(i);
}
✅ این کد را در کنسول مرورگر اجرا کنید. چه اتفاقی میافتد اگر تغییرات کوچکی در شمارنده، شرط یا عبارت تکرار ایجاد کنید؟ آیا میتوانید کاری کنید که حلقه به صورت معکوس اجرا شود و یک شمارش معکوس ایجاد کند؟
حلقه While
برخلاف نحو حلقه for
، حلقههای while
فقط به یک شرط نیاز دارند که زمانی که مقدار آن false
شود، حلقه متوقف شود. شرایط در حلقهها معمولاً به مقادیر دیگری مانند شمارندهها وابسته هستند و باید در طول حلقه مدیریت شوند. مقادیر اولیه برای شمارندهها باید خارج از حلقه ایجاد شوند و هر عبارتی برای برآورده کردن شرط، از جمله تغییر شمارنده، باید داخل حلقه نگهداری شود.
//Counting up to 10
let i = 0;
while (i < 10) {
console.log(i);
i++;
}
✅ چرا ممکن است یک حلقه for را به جای یک حلقه while انتخاب کنید؟ 17 هزار بازدیدکننده در StackOverflow همین سوال را داشتند و برخی از نظرات ممکن است برای شما جالب باشد.
حلقهها و آرایهها
آرایهها اغلب با حلقهها استفاده میشوند زیرا بیشتر شرایط به طول آرایه نیاز دارند تا حلقه متوقف شود و ایندکس نیز میتواند مقدار شمارنده باشد.
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
for (let i = 0; i < iceCreamFlavors.length; i++) {
console.log(iceCreamFlavors[i]);
} //Ends when all flavors are printed
✅ با حلقه زدن روی یک آرایه که خودتان ساختهاید در کنسول مرورگر آزمایش کنید.
🚀 چالش
راههای دیگری برای حلقه زدن روی آرایهها وجود دارد به جز حلقههای for و while. روشهایی مانند forEach، for-of، و map وجود دارند. حلقه آرایه خود را با استفاده از یکی از این تکنیکها بازنویسی کنید.
آزمون پس از درس
مرور و مطالعه شخصی
آرایهها در جاوااسکریپت دارای متدهای زیادی هستند که برای دستکاری دادهها بسیار مفید هستند. درباره این متدها مطالعه کنید و برخی از آنها (مانند push، pop، slice و splice) را روی یک آرایه که خودتان ساختهاید امتحان کنید.
تکلیف
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است حاوی خطاها یا نادرستیهایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، ترجمه حرفهای انسانی توصیه میشود. ما هیچ مسئولیتی در قبال سوءتفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.