مقدمه
قدرت واقعی آرایهها در جاوااسکریپت، به متدهای بسیار متنوع و قدرتمند آنهاست. این متدها به شما
کمک میکنند دادههای لیستی را به راحتی تغییر دهید، جستجو کنید، فیلتر کنید و عملیاتهای پیچیده را
فقط با چند خط کد انجام دهید. در این درس با مهمترین متدهای آرایه، کاربرد و تفاوت هرکدام به صورت
مفصل آشنا میشوید.
افزودن و حذف عناصر از آرایه
برای مدیریت آرایهها، افزودن و حذف عناصر از آنها یکی از مهمترین عملیاتهاست. جاوااسکریپت
متدهای متنوعی برای این کار ارائه میدهد که هرکدام کاربرد خاص خود را دارند. در ادامه به بررسی
رایجترین این متدها میپردازیم.
متدهای push و pop
برای افزودن عنصر به انتهای آرایه، از متد push و برای حذف آخرین عنصر، از pop
استفاده کنید. این دو متد رایجترین روشها برای کار با انتهای آرایه هستند.
این متدها مستقیماً آرایه را تغییر میدهند و تعداد عناصر آرایه را افزایش یا کاهش میدهند.
JAVASCRIPT
let arr = [1, 2, 3];
arr.push(4);
console.log(arr);
arr.pop();
console.log(arr);
متدهای unshift و shift
برای اضافه کردن عنصر به ابتدای آرایه از unshift و برای حذف اولین عنصر از shift
استفاده میشود. این متدها میتوانند آرایه را مانند یک صف مدیریت کنند.
توجه کنید که این متدها نیز مستقیماً آرایه اصلی را تغییر میدهند و معمولاً در پیادهسازی صفها و
الگوریتمهای خاص بسیار کاربرد دارند.
JAVASCRIPT
let arr = [10, 20];
arr.unshift(5);
console.log(arr);
arr.shift();
console.log(arr);
پیمایش و جستجو در آرایهها
برای کار با آرایهها، پیمایش و جستجو در آنها یکی از مهمترین نیازهاست. جاوااسکریپت متدهای
متنوعی برای پیمایش و جستجوی عناصر آرایه ارائه میدهد که هرکدام کاربرد خاص خود را دارند. در این
بخش به بررسی این متدها میپردازیم.
متد forEach
متد forEach یک تابع را برای هر عنصر آرایه اجرا میکند. این متد بسیار برای انجام عملیات
روی تکتک عناصر آرایه کاربردی است و آرایه را تغییر نمیدهد.
معمولاً forEach را برای نمایش، جمع زدن یا هر عملیات جانبی روی عناصر استفاده میکنند.
JAVASCRIPT
arr.forEach(function(item, index) {
console.log(index, item);
});
متدهای find و findIndex
برای یافتن اولین عنصر مطابق با شرط دلخواه، از find و برای یافتن ایندکس همان عنصر از
findIndex استفاده کنید.
این متدها برای جستجوی داده در آرایههای شیءمحور و کاربردهای عملیاتی بسیار مفید هستند.
JAVASCRIPT
let users = [
{ id: 1, name: "Ali" },
{ id: 2, name: "Sara" }
];
let user = users.find(function(item) {
return item.id === 2;
});
console.log(user.name);
تغییر، فیلتر و مرتبسازی آرایهها
برای تغییر، فیلتر و مرتبسازی آرایهها، جاوااسکریپت متدهای بسیار قدرتمندی ارائه میدهد که
امکان انجام عملیات پیچیده را به سادگی فراهم میکنند. در این بخش به بررسی این متدها و کاربردهای
آنها میپردازیم.
متدهای filter و map
متد filter یک آرایه جدید با عناصر مطابق شرط تولید میکند و متد map نیز مقدار همه
عناصر را به آرایه جدید تبدیل میکند. این متدها هستهی برنامهنویسی تابعی با آرایهها را تشکیل
میدهند.
این روشها برای فیلتر کردن دادهها، تبدیل دادهها و ساخت لیستهای جدید از دادههای اصلی بسیار
پرکاربرد هستند.
JAVASCRIPT
let nums = [1, 2, 3, 4];
let even = nums.filter(n => n % 2 === 0);
let squares = nums.map(n => n * n);
متدهای sort و reverse
با متد sort آرایه را براساس یک تابع مقایسه مرتب و با متد reverse ترتیب آن را برعکس
میکنید. sort میتواند هم برای اعداد و هم رشتهها استفاده شود.
اگر تابع مقایسه به sort ندهید، عناصر به صورت رشتهای مرتب میشوند که برای اعداد درست
نیست. بهتر است همیشه یک تابع مقایسه مناسب به آن بدهید.
JAVASCRIPT
nums.sort((a, b) => b - a);
nums.reverse();
متدهای کمکی مهم: slice، splice،
concat و join
این متدها برای کار با آرایهها و مدیریت دادهها بسیار مفید هستند.
slice برای گرفتن زیرآرایه، splice برای حذف یا اضافه کردن عناصر، concat برای
ترکیب چند آرایه و join برای تبدیل آرایه به رشته با جداکننده مشخص استفاده میشود.
متدهای slice و splice
متد slice برای گرفتن بخشی از آرایه بدون تغییر آرایه اصلی است و متد splice برای حذف
یا اضافه کردن عنصر به آرایه و تغییر آرایه اصلی به کار میرود.
JAVASCRIPT
let arr = [1, 2, 3, 4];
let part = arr.slice(1, 3);
arr.splice(1, 2);
متدهای concat و join
متد concat چند آرایه را با هم ترکیب میکند و متد join عناصر آرایه را با یک
جداکننده به صورت یک رشته درمیآورد. این متدها برای ساخت آرایه جدید یا تبدیل آرایه به رشته بسیار
مفید هستند.
JAVASCRIPT
let arr1 = [1, 2];
let arr2 = [3, 4];
let all = arr1.concat(arr2);
console.log(all.join("-"));
متدهای آرایه در جاوااسکریپت شما را قادر میکنند دادههای لیستی را به شکل بسیار منعطف و حرفهای
مدیریت کنید. با تسلط بر این متدها کدهایتان خواناتر، کوتاهتر و کاربردیتر خواهد بود.