شرح مفصل آرایه ها / Arrays در جاوا اسکریپت

آرایه ها یکی از جنبه های اساسی جاوا اسکریپت هستند که به توسعه دهندگان اجازه می دهند چندین مقدار را در یک ساختار داده سازمان یافته ذخیره کنند. آنها می توانند هر نوع مقداری، از رشته ها و اعداد گرفته تا ساختارهای پیچیده تر مانند اشیاء یا حتی آرایه های دیگر را نگه دارند.

ایجاد و راه اندازی آرایه ها

آرایه ها با قرار دادن لیستی از عناصر جدا شده با کاما در داخل کروشه ایجاد می شوند. این عناصر می توانند از هر نوع باشند، از جمله اعداد، رشته ها و یا حتی آرایه های دیگر (منجر به آرایه های چند بعدی):

const myArray = ['apple', 'banana', 'cherry']; console.log(myArray); // Outputs: ['apple', 'banana', 'cherry']

دسترسی به آیتم های آرایه

به هر عنصر در یک آرایه یک شاخص متوالی اختصاص داده می شود که با 0 شروع می شود. این دستور اولین آیتم آرایه را که 'apple' است فراخوانی می کند:

Array Index VisualizationmyArray[0]myArray[1]myArray[2]Index 012length=3applebananacherry
const myArray = ['apple', 'banana', 'cherry']; console.log(myArray[0]); // Outputs: apple

اصلاح آیتم های آرایه

شما می توانید یک آیتم موجود در یک آرایه را با استفاده از فهرست آن تغییر دهید. برای به روز رسانی آرایه، مقدار جدیدی به آیتم در شاخص مشخص شده اختصاص دهید. در اینجا، مورد دوم را از 'banana' به 'blueberry' تغییر دادیم:

const myArray = ['apple', 'banana', 'cherry']; myArray[1] = 'blueberry'; console.log(myArray); // Outputs: ['apple', 'blueberry', 'cherry']

دسترسی و اصلاح آیتم های آرایه

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

const myArray = ['apple', 'banana', 'cherry']; console.log(myArray[0]); // Outputs: apple myArray[1] = 'blueberry'; console.log(myArray); // Outputs: ['apple', 'blueberry', 'cherry']

آرایه های چند بعدی – Multidimensional Arrays

آرایه‌ای که شامل آرایه‌های دیگری به عنوان عناصر خود است، به عنوان آرایه چند بعدی شناخته می‌شود. می‌توانید با زنجیره‌ای کردن شاخص‌ها با استفاده از علامت‌گذاری براکت، به موارد موجود در یک آرایه چند بعدی دسترسی داشته باشید:

const multiArray = ['tree', 795, [0, 1, 2]]; console.log(multiArray[2][1]); // Outputs: 1

ویژگی ها و روش های آرایه / Array Properties and Methods

ویژگی length

ویژگی length یک آرایه تعداد عناصر موجود در آن را برمی گرداند.

const myArray = ['apple', 'banana', 'cherry']; console.log(myArray.length); // Outputs: 3

افزودن و حذف موارد

Array Methods: Add / Removeshift()حذف از ابتدا ←push()→ افزودن به انتهاunshift()افزودن به ابتدا →pop()← حذف از انتهاapplebananacherry

Push و Pop: موارد را با push() به انتهای آرایه اضافه کنید و آخرین مورد را با pop() حذف کنید.

const myArray = ['apple', 'banana', 'cherry']; myArray.push('dates'); // Adds 'dates' to the end myArray.pop(); // Removes the last item, 'dates'

Unshift و Shift: به طور مشابه، unshift() موارد را به ابتدا اضافه می کند و shift() اولین مورد را حذف می کند.

myArray.unshift('kiwi'); // Adds 'kiwi' at the beginning myArray.shift(); // Removes the first item, 'kiwi'

یافتن آیتم ها و شاخص ها

indexOf(): شاخص اولین رخداد یک عنصر مشخص را پیدا می کند.

console.log(myArray.indexOf('cherry')); // Outputs: 2

includes(): بررسی می کند که آیا یک آرایه حاوی مقدار خاصی است یا خیر.

console.log(myArray.includes('banana')); // Outputs: false

آرایه ها در جاوا اسکریپت همه کاره و قدرتمند هستند و قادر به نگهداری ساختارهای داده پیچیده و ارائه طیف گسترده ای از روش ها برای دستکاری آنها هستند. درک آرایه ها و تکنیک های دستکاری آن ها برای مدیریت موثر داده ها و عملیات در جاوا اسکریپت بسیار مهم است.

حلقه روی آرایه ها – Looping over Arrays

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

حلقه for

حلقه for سنتی روشی همه کاره برای تکرار روی یک آرایه است. به تنظیم یک شمارنده اولیه، شرطی که باید برای ادامه حلقه درست باشد، و یک عبارت افزایشی نیاز دارد.

مثال:

const fruits = ['Apple', 'Banana', 'Cherry']; for (let i = 0; i < fruits.length; i++) {   console.log(fruits[i]); }

در این مثال، i از 0 شروع می شود و تا زمانی که i کمتر از طول آرایه میوه ها باشد، حلقه ادامه می یابد. پس از هر تکرار، i یک افزایش می یابد.

حلقه برای… از – For…of

حلقه for…of که در ES6 معرفی شد، نحو ساده‌تری را برای تکرار روی اشیاء تکرارپذیر مانند آرایه‌ها فراهم می‌کند. این نیاز به دسترسی مستقیم به طول آرایه یا استفاده از یک شاخص برای دسترسی به آیتم های آرایه را از بین می برد.

مثال:

for (const fruit of fruits) {   console.log(fruit); }

این حلقه روی هر میوه در آرایه میوه‌ها تکرار می‌شود و مستقیماً مقدار هر آیتم را به متغیر fruit در هر تکرار اختصاص می‌دهد.

متد forEach()

متد forEach() یک روش آرایه ای است که یک تابع ارائه شده را یک بار برای هر عنصر آرایه اجرا می کند. این بخشی از نمونه اولیه Array است و رویکرد برنامه نویسی کاربردی تری را ارائه می دهد.

fruits.forEach(function(fruit, index) {   console.log(index, fruit); });

forEach() آیتم فعلی، شاخص آن و کل آرایه را در طول هر تکرار به تابع callback ارسال می کند. اگر به ایندکس یا آرایه نیاز ندارید، می توانید این پارامترها را حذف کنید:

fruits.forEach(fruit => console.log(fruit));

روش نقشه () – The map() Method

در حالی که به طور دقیق برای حلقه زدن به روش های بالا استفاده نمی شود، map() یک آرایه جدید با تبدیل هر عنصر در آرایه اصلی به صورت جداگانه ایجاد می کند. اغلب زمانی استفاده می شود که می خواهید عملیات خاصی را برای هر مورد اعمال کنید و از نتایج یک آرایه جدید دریافت کنید.

const upperCasedFruits = fruits.map(fruit => fruit.toUpperCase()); console.log(upperCasedFruits);

این مثال نام هر میوه را به حروف بزرگ تبدیل می کند و نتایج را در یک آرایه جدید جمع آوری می کند.

نکاتی برای حلقه زدن آرایه ها

  • انتخاب حلقه مناسب: برای تکرار ساده، for…of و forEach() جایگزین‌های مدرن‌تر و خواناتری برای حلقه for سنتی هستند. زمانی که نیاز به تبدیل عناصر و ایجاد یک آرایه جدید دارید، از map() استفاده کنید.
  • ملاحظات عملکرد: در حالی که forEach()، for…of، و map() نحو تمیزتری را ارائه می دهند، حلقه for سنتی ممکن است در برخی سناریوها، به ویژه برای آرایه های بزرگ، مزایای عملکرد جزئی را ارائه دهد. با این حال، برای بیشتر موارد استفاده، تفاوت ناچیز است.
  • تکرار به عقب: اگر نیاز دارید از طریق یک آرایه به ترتیب معکوس حلقه بزنید، یک حلقه for سنتی که در آن شمارنده را کاهش می دهید می تواند ساده تر باشد.

حلقه زدن روی آرایه ها یک تکنیک اصلی در برنامه نویسی جاوا اسکریپت است که به شما امکان می دهد داده های لیست را به طور موثر پردازش و دستکاری کنید. چه در حال جمع‌آوری امتیازات، ایجاد نشانه‌گذاری HTML از داده‌ها، یا انجام محاسبات بر روی اقلام مجموعه‌ای هستید، تسلط بر این تکنیک‌های حلقه پایه و اساس برنامه نویسی کارآمد جاوا اسکریپت است.

آزمون / Quiz

سوال ۱: خروجی کد زیر چیست؟
const arr = ['a', 'b', 'c']; console.log(arr[2]);
+
'a'
'b'
✅ 'c'
آرایه‌ها شاخص صفر دارند. arr[2] به سومین عنصر یعنی 'c' اشاره می‌کند.

سوال ۲: کدام متد یک عنصر را به انتهای آرایه اضافه می‌کند؟ +
shift()
✅ push()
push() یک عنصر را به انتهای آرایه اضافه می‌کند. shift() اولین عنصر را حذف می‌کند.
unshift()

سوال ۳: تفاوت forEach و map چیست؟ +
هیچ تفاوتی ندارند
✅ map() یک آرایه جدید برمی‌گرداند، forEach() خیر
map() هر عنصر را تبدیل کرده و یک آرایه جدید ایجاد می‌کند. forEach() فقط روی هر عنصر عملیاتی انجام می‌دهد بدون اینکه آرایه جدید بسازد.
forEach() سریع‌تر است

نکات کلیدی / Key Takeaways

  • آرایه‌ها با کروشه [] ایجاد می‌شوند و شاخص صفر دارند.
  • length تعداد عناصر آرایه را برمی‌گرداند.
  • push()/pop() برای انتهای آرایه، unshift()/shift() برای ابتدای آرایه.
  • indexOf() شاخص عنصر را پیدا می‌کند، includes() وجود عنصر را بررسی می‌کند.
  • حلقه روی آرایه: for (سنتی)، for...of (مدرن)، forEach() (تابعی)، map() (تبدیل + آرایه جدید).
  • آرایه‌های چند بعدی: آرایه‌ای که شامل آرایه‌های دیگر است — دسترسی با arr[i][j].