آموزش جامع آرایهها و متدها در جاوااسکریپت
🎯 اهداف یادگیری
- شناخت کامل آرایهها در جاوااسکریپت
- یادگیری متدهای مهم و پرکاربرد آرایهها
- کاربردهای عملی آرایهها در پروژههای واقعی
- تفاوت بین متدهای تغییردهنده و غیرتغییردهنده
📌 آرایه چیست؟
آرایهها ساختارهایی برای ذخیره مجموعهای از مقادیر در یک متغیر هستند:
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}
📌 قدم بعدی
در درس بعدی با متدها در جاوااسکریپت آشنا خواهیم شد!