آموزش JavaScript
۲۶۰ آموزش
نمایش دسته بندی ها (۲۶۰ آموزش)

مرتب کردن عنصرهای (Element) یک آرایه (Array)، به صورت نزولی، با روش های sort و reverse ، در JavaScript

در کلید شماره 2402 ، روش sort در JavaScript را معرفی کردیم که برای مرتب کردن عنصرهای (Element) یک آرایه (Array)، به صورت صعودی، به کار می رود. اما شاید بخواهیم که عنصرهای (Element) آرایه (Array)، به صورت نزولی مرتب شوند.

برای این منظور، می توانیم از ترکیب روش های sort و reverse استفاده کنیم. روش reverse در JavaScript ، برای معکوس کردن ترتیب عنصرهای (Element) یک آرایه (Array) به کار می رود ( کلید شماره 27877 ).

بنابراین ابتدا می توانیم با استفاده از روش sort ، عنصرهای (Element) آرایه (Array) را به صورت صعودی مرتب کنیم و سپس با استفاده از روش reverse ، ترتیب عنصرهای (Element) آرایه (Array) را معکوس نماییم تا ترتیب صعودی به ترتیب نزولی تبدیل شود.

اگر آرایه شامل تعدادی رشته (String) باشد، آنگاه عنصرهای آرایه بر اساس حروف الفبا (البته به صورت معکوس)، مرتب می شوند و اگر آرایه از تعدادی عدد تشکیل شده باشد، آنگاه عنصرهای آرایه بر حسب رقم اعداد مرتب می شوند.

به عنوان مثال، اگر آرایه مورد نظرمان در متغیری با نام kelidestan ذخیره شده باشد، آنگاه کد JavaScript زیر را می نویسیم :

نکته مهم

روش sort در JavaScript ، هنگام مرتب کردن اعداد، رقم های متناظر اعداد را مقایسه می کند (نه مقدار کلی عدد)، مثلا عدد 9 را بزرگتر از عدد 23 در نظر می گیرد، زیرا رقم اول عدد 9 برابر 9 و رقم اول عدد 23 برابر 2 خواهد بود و 9 از 2 بزرگتر است.

بنابراین روش sort در JavaScript ، نتایج صحیحی را برای اعداد برنمی گرداند.

برای رفع این مشکل، هنگامی که آرایه شامل اعداد می باشد، می توانیم روش sort را به صورت زیر به کار ببریم (یک تابع مقایسه (Compare Function) تعریف می کنیم که شیوه تعیین ترتیب عنصرها توسط روش sort را تغییر می دهد) :

بنابراین کد نهایی (به همراه روش reverse ) باید به صورت زیر باشد :

به مثال زیر توجه کنید :

مثال

نتیجه :

خطا - صفحه را دوباره بارگذاری کنید
مثال

نتیجه :

خطا - صفحه را دوباره بارگذاری کنید

در مثال زیر، روش sort را به گونه ای به کار می بریم که بتواند اعداد را دقیقا به صورت صحیح مرتب کند :

مثال

نتیجه :

خطا - صفحه را دوباره بارگذاری کنید
نکته

بد نیست که مثال هایی را از شیوه غلط به کار بردن روش sort برای مرتب کردن ترتیب اعداد ذکر کنیم تا نتایج غلط آنها را مورد بررسی قرار دهید.

در مثال زیر، چند عدد تک رقمی و دو رقمی را به کار می بریم و نتایج، غلط خواهند بود :

مثال

نتیجه :

خطا - صفحه را دوباره بارگذاری کنید

مشاهده می کنید که نتایج غلطی به دست آمده است.

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

مثال

نتیجه :

خطا - صفحه را دوباره بارگذاری کنید

مشاهده می کنید که با توجه به تک رقمی بودن اعداد، نتایج صحیح می باشند.

منابع و لینک های مفید
نویسنده علیرضا گلمکانی
شماره کلید 28148
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)