ویرگول
ورودثبت نام
حمیدرضا ناطقی
حمیدرضا ناطقی
خواندن ۵ دقیقه·۴ سال پیش

متدهای آرایه جاوا اسکریپت

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

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

  • متد push این متد برای افزودن یک یا چند آیتم به انتهای آرایه استفاده میشه. آرایه اصلی با افزودن آیتم جدید تغییر میکنه. خروجی متد طول آرایه جدیده.
let tea = ['breakfast', 'lemon', 'green']; let count = tea.push('peach'); console.log(tea); // ['breakfast', 'lemon', 'green', 'peach'] console.log(count); // 4 tea.push('black', 'strawberry', 'cranberry'); console.log(tea); // ['breakfast', 'lemon', 'green', 'peach', 'black', 'strawberry', 'cranberry']
  • متد unshift این متد یک یا چند آیتم رو به ابتدای آرایه اضافه میکنه. همانند متد push، آرایه مربوط دستکاری میشه و فانکشن هم طول آرایه جدید رو برمیگردونه.
let letters = ['a', 'b', 'c', 'd', 'e']; let count = letters.unshift('x', 'y', 'z'); console.log(letters); // ['x', 'y', 'z', 'a', 'b', 'c'] console.log(count); // 8
  • متد pop این متد آخرین آیتم آرایه رو حذف میکنه. آرایه اصلی با حذف آخرین آیتم تغییر میکنه. فانکشن هم آیتم حذف شده رو برمیگردونه.
let letters = ['a', 'b', 'c', 'd', 'e']; let poppedItem = letters.pop(); console.log(letters); // ['a', 'b', 'c', 'd'] console.log(poppedItem); // 'e'
  • متد shift این متد اولین آیتم آرایه رو حذف میکنه. بطور مشابه، آرایه مربوط تغییر میکنه و فانکشن هم آیتم حذف شده رو برمیگردونه.
let letters = ['a', 'b', 'c', 'd', 'e']; let shiftedItem = letters.shift(); console.log(letters); // ['b', 'c', 'd', 'e'] console.log(shiftedItem); // 'a'
  • متد splice این متد با حذف یا جایگزینی آیتم های آرایه و یا افزودن آیتم های جدید محتویات آرایه رو دستکاری میکنه. آرایه اصلی تغییر میکنه.

مثال اول: حذف 2 آیتم از اندیس 0

let food = ['salad', 'steak', 'pudding', 'carrot cake']; food.splice(0, 2); console.log(food); // ['pudding', 'carrot cake']

مثال دوم: حذف 0 آیتم از اندیس 1 و افزودن 2 آیتم جدید

let animals = ['koala', 'fish', 'tortoise', 'whale'] animals.splice(1, 0, 'snake', 'rabbit'); console.log(animals); // ['koala', 'snake', 'rabbit', 'fish', 'tortoise', 'whale']

مثال سوم: جایگزینی 2 آیتم از اندیس 0 با 2 آیتم جدید

let tea = ['earl grey', 'lemon', 'green']; tea.splice(0, 2, 'breakfast', 'peach'); console.log(tea); // ['breakfast', 'peach', 'green']
  • متد slice این متد بخشی دلخواه آرایه از نقطه ابتدای مشخص شده تا نقطه انتهایی مشخص شده رو برمیگردونه. اندیس منفی هم استفاده میشه کرد که از انتهای آرایه شروع به شمارش میکنه. اگه نقطه انتهایی مشخص نشده باشه، باقی آرایه برمیگرده. اگه نقطه ابتدایی و انتهایی مشخص نشده باشن، یک کپی از آرایه ساخته میشه. توجه کن که این متد آرایه اصلی رو دستکاری نمیکنه و فقط بخش دلخواه رو برمیگردونه.
let food = ['steak', 'pasta', 'cake', 'pudding', 'salad', 'soup']; let copy = food.slice(); console.log(copy); // ['steak', 'pasta', 'cake', 'pudding', 'salad', 'soup'] let dessert = food.slice(2, 4); console.log(dessert); // ['cake', 'pudding'] let starter = food.slice(-2); console.log(starter); // ['salad', 'soup'] let sweets = food.slice(-4, -2); console.log(sweets); // ['cake', 'pudding']
  • متد concat این متد برای ترکیب دو یا چند آرایه استفاده میشه. آرایه اصلی تغییر نمیکنه. فانکشن هم یک آرایه جدید برمیگردونه.
let tea = ['breakfast', 'earl grey', 'green']; let juice = ['orange', 'pineapple', 'pear']; let drinks = tea.concat(juice); console.log(drinks); // ['breakfast', 'earl grey', 'green', 'orange', 'pineapple', 'pear']
  • متد includes این متد یک مقدار بولی برمیگردونه که نشون میده این آرایه شامل اون آیتمی هست که دنبالشیم یا نه. آرگومان دوم، که اندیس شروع جستجو رو نشون میده، اختیاریه.
let tea = ['breakfast', 'earl grey', 'green']; console.log(tea.includes('breakfast')); // true console.log(tea.includes('strawberry')); // false console.log(tea.includes('earl grey', 1)); // true console.log(tea.includes('earl grey', 2)); // false
  • متد find اگه معیار جستجوت مشخصه، میتونی از این متد استفاده کنی. این متد اولین آیتمی که با معیار جستجو همخونی داره رو برمیگردونه. اگه آیتمی پیدا نشه، مقدار undefined برگردونده میشه.

در مثال اول، معیار جستجو اینه که دنبال عددی هستیم که از 3 بزرگتره. فانکشن جستجو عدد 4 رو برمیگردونه چون 4 اولین آیتمی هست که با این معیار همخونی داره.

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

let numbers = [1, 2, 3, 4, 5, 6]; let found = numbers.find(num => num > 3); console.log(found); // 4 found = numbers.find(num => num < 1); console.log(found); // undefined
  • متد findIndex این متد تقریبا مشابه متد find هستش. با این تفاوت که بجای اولین آیتم، اندیس اولین آیتمی که با معیار جستجو همخونی داره رو برمیگردونه. اگه آیتمی پیدا نشه عدد 1- رو میگردونه.

در مثال اول، معیار جستجو اینه که دنبال عددی هستیم که از 3 بزرگتره. فانکشن جستجو عدد 1 رو برمیگردونه چون 1 اندیس اولین آیتمی هست که با این معیار همخونی داره.

در مثال دوم، معیار جستجو اینه که عدد باید از 2 کوچکتر باشه. فانکشن جستجو مقدار 1- برمیگردونه چون هیچ آیتمی با این معیار همخونی نداره.

let numbers = [2, 4, 6, 7, 9, 10]; let foundIndex = numbers.findIndex(num => num > 3); console.log(foundIndex); // 1 foundIndex = numbers.findIndex(num => num < 2); console.log(foundIndex); // -1
  • متد indexOf این متد تقریبا مشابه متد findIndex هستش. با این تفاوت که بجای یک فانکشن بعنوان معیار جستجو، یک مقدار میگیره. آرگومان دوم، که اندیس شروع جستجو رو نشون میده، اختیاریه.
let juice = ['orange', 'pineapple', 'pear']; let index = juice.indexOf('orange'); console.log(index); // 0 index = juice.indexOf('orange', 1); console.log(index); // -1
  • متد reverse این متد با دستکاری آرایه اصلی اون آرایه رو معکوس میکنه.
let array = ['Y', 'P', 'P', 'A', 'H']; let reversed = array.reverse(); console.log(reversed); // ['H', 'A', 'P', 'P', 'Y']

از اینکه این مقاله رو مطالعه کردی ممنونم! این مقاله جامع و کامل نیست. هنوزم متدهایی هستن که در موردشون حرف نزدیم. اگه میخوای بیشتر مطالعه کنی، میتونی به اسناد MDN سر بزنی.

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