10- آموزش جاوااسکریپت | کار با آرایهها (Arrays) و متدهای تغییر آنها
در این آموزش به بررسی آرایهها (Arrays) در جاوااسکریپت میپردازیم. یاد میگیریم چگونه آرایهها را ایجاد کنیم، به دادههای درون آنها دسترسی داشته باشیم و با استفاده از متدهای کاربردی، آرایهها را تغییر دهیم (Mutate)، جستجو کنیم و مرتبسازی کنیم.
آرایهها در جاوااسکریپت ساختارهایی کلیدی هستند که به ما اجازه میدهند چندین مقدار را در یک متغیر ذخیره کنیم. این ساختارها برای الگوریتمهای پیچیده و مدیریت دادهها بسیار حیاتی هستند.
ایجاد آرایه
دو روش رایج برای تعریف آرایه وجود دارد:
// روش استاندارد و پیشنهادی
const numbers = [43, 56, 33, 23, 44, 36, 5];
// استفاده از Constructor
const numbers2 = new Array(22, 45, 33, 76);
آرایهها در جاوااسکریپت میتوانند شامل انواع دادههای مختلف (Mixed Types) باشند:
const mixed = [10, 'Hello', true, undefined, { a: 1 }, new Date()];
ویژگیها و بررسی آرایه
- طول آرایه: با
.lengthتعداد عناصر را به دست میآوریم. - بررسی آرایه بودن: از
Array.isArray()برای اطمینان از اینکه یک متغیر واقعاً آرایه است استفاده میکنیم (بسیار مفید در کار با DOM).
console.log(numbers.length); // 7
console.log(Array.isArray(numbers)); // true
دسترسی و تغییر (Mutation)
آرایهها در جاوااسکریپت مبتنی بر ایندکس صفر (Zero-based) هستند.
// دسترسی به عنصر اول
console.log(numbers[0]); // 43
// تغییر مقدار یک ایندکس خاص
numbers[2] = 100;
متدهای مهم تغییر (Mutating)
برای مدیریت لیستها، متدهای زیر بسیار کاربردی هستند:
افزودن و حذف
- push: افزودن به انتهای آرایه.
- unshift: افزودن به ابتدای آرایه.
- pop: حذف از انتهای آرایه.
- shift: حذف از ابتدای آرایه.
numbers.push(50); // افزودن 50 به آخر
numbers.unshift(120);// افزودن 120 به اول
numbers.pop(); // حذف از آخر
numbers.shift(); // حذف از اول
حذف یا جایگزینی (Splice)
متد .splice() قدرت زیادی دارد؛ آرگومان اول ایندکس شروع و آرگومان دوم تعداد عناصری که باید حذف شوند را تعیین میکند.
// حذف 1 عنصر از ایندکس 1
numbers.splice(1, 1);
معکوس و اتصال
numbers.reverse(); // معکوس کردن آرایه
const combined = numbers.concat(numbers2); // ترکیب دو آرایه
مرتبسازی (Sort)
متد .sort() برای رشتهها عالی عمل میکند اما برای اعداد نیاز به یک "تابع مقایسه" (Compare Function) دارد:
// مرتبسازی صعودی اعداد
numbers.sort((x, y) => x - y);
// مرتبسازی نزولی اعداد
numbers.sort((x, y) => y - x);
جستجو در آرایه
متد .find() برای یافتن اولین عنصری که شرط خاصی را داشته باشد استفاده میشود:
// یافتن اولین عددی که کمتر از 50 است
const under50 = numbers.find(num => num < 50);
جمعبندی
در این آموزش آموختیم:
- ایجاد آرایه و ذخیره انواع دادههای مختلف.
- دسترسی به عناصر با ایندکسهای صفر-محور.
- متدهای تغییر آرایه شامل اضافه و حذف عناصر (Push, Pop, Shift, Unshift).
- استفاده از Splice برای تغییرات هدفمند.
- روش صحیح مرتبسازی اعداد با استفاده از تابع مقایسه.
در بخش بعدی، به سراغ مفهوم Object Literals میرویم که مکمل بسیار مهمی برای آرایهها در برنامهنویسی جاوااسکریپت است.