آموزش جامع آرایه‌ها و متدها در جاوااسکریپت


🎯 اهداف یادگیری

  • شناخت کامل آرایه‌ها در جاوااسکریپت
  • یادگیری متدهای مهم و پرکاربرد آرایه‌ها
  • کاربردهای عملی آرایه‌ها در پروژه‌های واقعی
  • تفاوت بین متدهای تغییردهنده و غیرتغییردهنده

📌 آرایه چیست؟

آرایه‌ها ساختارهایی برای ذخیره مجموعه‌ای از مقادیر در یک متغیر هستند:

javascript
// ایجاد آرایه‌های مختلف
const fruits = ['سیب', 'موز', 'پرتقال'];
const numbers = [1, 2, 3, 4, 5];
const mixed = ['text', 10, true, {name: 'John'}];

ویژگی‌های کلیدی آرایه‌ها:

  • انعطاف‌پذیری: می‌توانند شامل انواع مختلف داده باشند
  • اندیس‌گذاری: عناصر از اندیس 0 شروع می‌شوند
  • تغییرپذیری: می‌توان محتوای آنها را تغییر داد

📌 دسترسی به عناصر آرایه

javascript
const colors = ['قرمز', 'سبز', 'آبی'];
// دسترسی به عناصر
console.log(colors[0]); // خروجی: قرمز
console.log(colors[colors.length - 1]); // خروجی: آبی (آخرین عنصر)

متدهای پایه‌ای آرایه‌ها:

  • length: تعداد عناصر آرایه را برمی‌گرداند
  • push(): اضافه کردن عنصر به انتهای آرایه
  • pop(): حذف آخرین عنصر آرایه
  • shift(): حذف اولین عنصر آرایه
  • unshift(): اضافه کردن عنصر به ابتدای آرایه

📌 متدهای تغییردهنده و غیرتغییردهنده

متدهای تغییردهنده آرایه اصلی را تغییر می‌دهند، در حالی که متدهای غیرتغییردهنده آرایه جدیدی برمی‌گردانند.

javascript
// متد تغییردهنده (اصلاح آرایه اصلی)
const nums = [1, 2, 3];
nums.push(4); // nums اکنون [1, 2, 3, 4] است
// متد غیرتغییردهنده (ایجاد آرایه جدید)
const original = [1, 2, 3];
const newArray = original.concat(4); // original تغییر نکرده، newArray = [1, 2, 3, 4]

مقایسه متدهای مهم:

متدهای تغییردهنده متدهای غیرتغییردهنده
push(), pop() concat(), slice()
shift(), unshift() map(), filter()
splice(), reverse() reduce(), flat()

📌 متدهای پرکاربرد آرایه

برخی از مهم‌ترین متدهای آرایه که هر توسعه‌دهنده جاوااسکریپت باید بداند:

javascript
const numbers = [1, 2, 3, 4, 5];
// map - ایجاد آرایه جدید با تبدیل هر عنصر
const doubled = numbers.map(num => num * 2); // [2, 4, 6, 8, 10]
// filter - فیلتر کردن عناصر بر اساس شرط
const evens = numbers.filter(num => num % 2 === 0); // [2, 4]
// reduce - کاهش آرایه به یک مقدار
const sum = numbers.reduce((acc, num) => acc + num, 0); // 15
// find - پیدا کردن اولین عنصر منطبق با شرط
const firstEven = numbers.find(num => num % 2 === 0); // 2

کاربردهای عملی:

  • map: تبدیل داده‌ها برای نمایش در UI
  • filter: فیلتر کردن لیست‌ها بر اساس شرایط کاربر
  • reduce: محاسبات جمع، میانگین و سایر تجمیع‌ها
  • find/findIndex: جستجو در آرایه‌ها

📌 تمرین عملی

آرایه‌ای از کاربران داریم، تمرینات زیر را انجام دهید:

javascript
const users = [
{id: 1, name: 'علی', age: 25, isActive: true},
{id: 2, name: 'رضا', age: 30, isActive: false},
{id: 3, name: 'سارا', age: 22, isActive: true}

📌 قدم بعدی

در درس بعدی با متدها در جاوااسکریپت آشنا خواهیم شد!