مرتب سازی ارایه ها را توضیح دهید.

0

مرتب سازی ارایه ها را توضیح دهید.

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
1

مرتب سازی ارایه ها را توضیح دهید.

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

var aColors = [“red”, “green”, “blue”];
aColors.reverse();
alert(aColors.toString()); //outputs “blue,green,red”

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

;var aColors = [“red”, “green”, “blue”, “yellow”]
aColors.sort();
alert(aColors.toString()); //outputs “blue,green,red,yellow”

در صورتی که عناصر آرایه اعداد باشند نتیجه کمی عجیب و غریب است:

var aColors = [3, 32, 2, 5]
aColors.sort();
alert(aColors.toString()); //outputs “2,3,32,5”

همانطور که اشاره شد متد sort() به صورت پیش فرض عناصر آرایه را به صورت الفبایی (بر حسب کدهاي کاراکتري آن ها) و به صورت صعودي مرتب می کند. چنانچه بخواهیم آرایه اي از اعداد را به صورت صعودي مرتب کنیم می بایست می بایست
از یک تابع مقایسهاي که در قالب یک آرگومان براي این متد فرستاده می شود استفاده کنیم. خود این تابع مقایسه اي همیشه گرفته، آن ها را با هم مقایسه کرده و آرایهي اصلی براساس مقادیر بازگشتی این تابع انجام می (a,b دو آرگومان) به عنوان مثال شود. مقدار بازگشتی تابع مقایسه اي به یکی از سه صورت زیر است:

چنانچه می بایست b آرگومان اول) قرار بگیرد مقداري مثبت را برمی گرداند. )a آرگومان دوم) قبل ازچنانچه می بایست مکان b و a تغییري نکند مقدار صفر را برمی گرداند. چنانچه می بایست a قبل  از b قرار بگیرد مقداري منفی را برمی گرداند. به عنوان مثال در صورتی که تابع زیر را به عنوان آرگومان براي متد sort().بفرستیم آرایه به صورت صعودي مرتب خواهد شد:

function Compare(a,b){
If(a>b){
Return 1;
}else if (a<b){
Return -1;
}else{
Return 0;
}
}

دقت داشته باشید که بدنه تابع فوق را می توان به شکل زیر کوتاهتر و ساده تر کرد ضمن اینکه همان عملکرد را خواهد داشت:

function Compare(a,b){
Return a-b;
}

براي مرتب سازي آرایه به صورت عددي نزولی کافی است جاي 1 و 1- در تابع مقایسه اي را عوض کنید.

منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام تور مرکز اران و بید گل

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

بستر اموزش های ویدویی 

حسین برخورداری سوال پاسخ داده شده اکتبر 18, 2020
گذاشتن نظر
شما در حال مشاهده 1 از 1 پاسخ هستید ، برای دیدن همه پاسخها اینجا را کلیک کنید .
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1719 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی املاک و مستغلات