آرایه ها و متدهای Shift و Unshift - تست چهار گزینه ای جاوااسکریپت
آزمون جاوااسکریپت: آرایه ها و متدهای Shift و Unshift
آماده ای تا دانش خودت رو درباره یکی از اساسی ترین مفاهیم زبان برنامه نویسی جاوااسکریپت، یعنی آرایهها، محک بزنی؟ این آزمون به طور خاص روی دو تا از متدهای مهم و پرکاربرد تمرکز داره: shift و unshift.
با شرکت در این آزمون، میتونی میزان تسلطت رو روی این مباحث بسنجی و در عین حال، اطلاعات مفیدی هم به دست بیاری که شاید تا الان بهشون توجه نکرده بودی.

متدهای shift و unshift چی کار می کنن؟
قبل از اینکه بریم سراغ سوالات، بذار یه توضیح کوچیک درباره این دو متد بدم. متد shift() اولین عنصر رو از یه آرایه حذف میکنه و اون عنصر حذف شده رو برمیگردونه. یه نکته مهم اینه که این متد طول آرایه رو تغییر میده. به این مثال دقت کن:
const fruits = ['apple', 'banana', 'orange'];
const firstFruit = fruits.shift();
// fruits حالا ['banana', 'orange'] هست
// firstFruit هم 'apple' هست
حالا میرسیم به unshift(). این متد دقیقاً برعکس shift عمل میکنه. یعنی یک یا چند عنصر رو در ابتدای آرایه اضافه میکنه و طول جدید آرایه رو برمیگردونه. مثلاً اگه بخوام یه میوه دیگه به ابتدای آرایه بالا اضافه کنم:
const fruits = ['banana', 'orange'];
const newLength = fruits.unshift('grape');
// fruits حالا ['grape', 'banana', 'orange'] هست
// newLength هم 3 هست
موارد استفاده و نکات کلیدی
این متدها توی سناریوهای مختلفی به کارت میان. مثلاً اگه داری یه صف (Queue) یا پشته (Stack) رو پیادهسازی میکنی، shift و unshift ابزارهای خیلی مفیدی هستن.
از این متدها در شرایط زیر استفاده میکنم:
- برای اضافه کردن یک عنصر به ابتدای لیست، مثلاً در یک سیستم نوتیفیکیشن که جدیدترین پیامها باید بالا نمایش داده بشن.
- برای حذف قدیمیترین آیتم از یک صف، مثل پردازش درخواستها به ترتیب ورود.
- در الگوریتمهایی که نیاز به دستکاری مداوم ابتدای آرایه دارن.
حالا برای اینکه ببینی چقدر این مباحث رو بلد هستی، چند تا مثال از سوالات آزمون رو برات میارم:
- بعد از اجرای کد زیر، مقدار متغیر
resultو آرایهnumbersچی میشه؟ - استفاده از
unshiftدر یک آرایه بزرگ از نظر عملکردی چه مشکلی ممکنه ایجاد کنه؟ - تفاوت اصلی بین
shiftوpopدر چیست؟
در این آزمون دقیقاً همین نوع سوالات رو ازت میپرسم تا ببینی چقدر به جزئیات مسلط هستی. با جواب دادن به این سوالات، دیدت نسبت به کار با آرایهها عمیقتر میشه و میفهمی چطور به بهترین شکل از این متدها استفاده کنی.
مقایسه متدهای shift و unshift
برای درک بهتر این دو متد، نگاهی به این جدول مقایسهای بنداز:
| ویژگی | shift() |
unshift() |
|---|---|---|
| کارکرد اصلی | حذف اولین عنصر | اضافه کردن یک یا چند عنصر در ابتدا |
| تغییر طول آرایه | کاهش طول | افزایش طول |
| مقدار بازگشتی | عنصر حذف شده | طول جدید آرایه |
حالا که با جزئیات این دو متد آشنا شدی، وقتشه که دانشت رو امتحان کنی و ببینی تا چه اندازه به این مباحث مهم تسلط داری. برای شروع، کافیه روی دکمه زیر کلیک کنی.