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

آموزش جاوا اسکریپت

در این بخش از سری آموزش جاوا اسکریپت قصد داریم به شما نحوه مرتب کردن آرایه در جاوا اسکریپت را یاد بدیم.

 

مرتب کردن یک آرایه

مرتب سازی یک کار معمول هنگام کار با آرایه ها است. برای مثال, زمانی که قصد نمایش نام شهر یا کشور بر اساس حروف الفبا هستید.

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

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

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

این متد یک آرایه را به این صورت معکوس می کند که اولین المان تبدیل به آخرین و آخرین المان تبدیل به اولین المان می شود.

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

 

مرتب کردن آرایه عددی

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

همانظور که می بینید, نتیجه متفاوت تر از آنچه انتظار داشتیم است. به این دلیل که متد sort() المان آرایع عددی را به رشته های آنها تبدیل می کند (مثلا ۲۰ به “۲۰” تبدیل می شود.) و از آنجا که اولین کاراکتر از رشته “۲۰” بعد از رشته “۱۰۰” (“۱”) است. پس مقدار ۲۰ بعد از ۱۰۰ مرتب شده است.

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

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

زمانی که تابع مقایسه ای مشخص شد, المان های آرایه بر اساس مقدار بازگشتی تایع مرتب شدند.

برای مثال زمانی که a با b مقایسه شد :

  • اگر تابع مقایسه ای مقداری کمتر از ۰ را برگرداند, پس a اول می آید
  • اگر تابع مقایسه ای مقداری بزرگتر از ۰ را برگرداند, پس b اول می آید
  • اگر تابع مقایسه ای ۰ را برگشت دهد, a و b بدون تغییر مرتب می شود.

پس از آنجا که ۵ – ۲۰ = -۱۵ کمتر از ۰ است, ۵ اول می آید, مشابه آن ۲۰ – ۱۰ = ۱۰ بزرگتر از ۰ است, پس ۱۰ بعد از ۲۰ می آید, باز هم ۲۰ – ۷۵ = -۵۵ کوچکتر از ۰ است, پس ۲۰ بعد از ۷۵ می آید و …

 

پیدا کردن مقدار حداکثر و حداقل در یک آرایه

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

متد apply() یک راه آسان را برای پاس دادن مقادیر آرایه به صورت آرگومان به تایع برای پذیرفتن چند آرگوان در فرم آرایه را می دهد اما یک آرایه نیست

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

 

مرتب کردن آرایه های آبجکت

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

 

امیدوارم  از مرتب کردن آرایه در جاوا اسکریپت نهایت استفاده را برده باشید.

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

هر سوالی داشتید ، از قسمت نظرات ارسال کنید . سریعا ، پاسخگوی سوالات شما هستیم .

موفق باشید.

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران

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

دوره های آموزشی