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

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

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

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

ابجکت آرایه جاوا اسکریپت دارای متد ()sort میباشد که  برای مرتب‌سازی عناصر آرایه به ترتیب حروف الفبا است. مثال زیر نحوه عملکرد آن را نشان می دهد:

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

می توانید از متد ()reverse برای معکوس کردن ترتیب عناصر یک آرایه استفاده کنید.به عنوان مثال:

توجه: روش ()sort و ()reverse  آرایه اصلی را اصلاح می کند،به عبارت دیگر ارایه اصلی همان مقادیر سورت یا معکوس شده را به خود میگیرد همانطور که در مثال های بالا مشاهده می کنید.

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

متد()sort زمانی که روی آرایه های عددی اعمال می شود (مثلاً آرایه هایی حاوی مقادیر عددی) ممکن است نتیجه غیرمنتظره ای ایجاد کند. برای مثال:

همانطور که می بینید، نتیجه با آنچه ما انتظار داشتیم متفاوت است. از آن جایی که متد ()sort عناصر آرایه عددی را با تبدیل آنها به رشته مرتب می کند. این اتفاق میافتد. (یعنی 20 تبدیل به “20” ، 100 تبدیل به “100” و …میشود) و از اولین کاراکتر رشته “20” (یعنی “2”) بعد از اولین کاراکتر رشته “100” (یعنی “1”) می آید، به همین دلیل است که مقدار 20 بعد از 100 مرتب می شود.

برای رفع  مشکل مرتب‌سازی  آرایه‌های عددی، می‌توانید مقادیر را به  یک تابع مقایسه مانند زیر ارسال کنید:

همانطور که می بینید، این بار ما به نتیجه صحیح رسیده ایم. بیایید ببینیم چگونه کار می کند.

هنگامی که تابع مقایسه مشخص می شود، عناصر آرایه بر اساس مقدار بازگشتی تابع مقایسه مرتب می شوند. به عنوان مثال، هنگام مقایسه  aو b :

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

از این رو، از آنجایی که  15-= 20-5  که کمتر از 0 است، بنابراین 5 اول می شود، به طور مشابه 10 =10-20  که بزرگتر از 0 است، بنابراین 10 قبل از 20 می آید، همچنین 55-= 75-20  که کمتر از 0 است. بنابراین 20 قبل از 75 می آید، به طور مشابه 50 قبل از 75 می آید و ….

پیدا کردن مینیمم و ماکزیمم در یک ارایه

می‌توانید از متد ()apply در ترکیب با  ()Math.max  و ()Math.min برای یافتن حداکثر و حداقل مقدار داخل یک آرایه استفاده کنید،به عنوان مثال:

متد ()apply راهی مناسب برای ارسال مقادیر آرایه به عنوان آرگومان به تابع را ارائه می‌کند که چندین آرگومان را به شیوه‌ ای آرایه‌ مانند می‌پذیرد، اما خود آرایه را نمی‌پذیرد.

بنابراین،عبارتMath.max.apply(null,numbers)در مثال بالا معادل Math.max(3, -7, 10, 8, 15, 2) میباشد.

مرتب سازی آرایه ای از اشیاء

متد()sort  همچنین می تواند برای مرتب سازی آرایه های ابجکتیبه کمک تابع مقایسه استفاده شود.

مثال زیر به شما نشان می دهد که چگونه یک آرایه از اشیاء را بر اساس مقادیر پراپرتی ها مرتب کنید:

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

تبدیل نوع داده(Type Conversions)در جاوا اسکریپت

 

 

 

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]
اشتراک‌گذاری

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *