در این درس نحوه مرتب کردن پارامترهای یک آرایه به صورت رندوم آموزش داده می شود. برای مثال با استفاده از این چیدمان رندوم می توانید تصاویر یک گالری عکس را در هر بار به صورت رندوم نشان دهید.
۱. برای مثال آرایه زیر را در نظر بگیرید.
۲. به کمک دستور زیر می توانید آرایه را به صورت الفبایی مرتب کنید.
۳. همچنین با افزودن پارامتر NUMERIC به کد قبلی می توانید آرایه را به صورت عددی مرتب کنید.
۴. برای چیدمان رندوم باید ابتدا یک آرایه کمکی بسازید.
۵. حالا این آرایه را با پارامترهای آرایه اصلی پر می کنیم (به کمک دستور for). هر پارامتر در آرایه temp از یک آرایه با دو پارامتر تشکیل می شود که پارامتر اول یک عدد رندوم و پارامتر دوم مقدار معادل در آرایه اصلی است.
۶. در ادامه به کمک دستور زیر آرایه temp را با توجه به پارامترهای اول هر پارامتر (عدد رندوم) مرتب می کنیم.
۷. سپس آرایه اصلی را خالی می کنیم (یک شیء جدید از آن می سازیم).
۸. درنهایت مقادیر مرتب شده به صورت رندوم را یکی یکی به آرایه اصلی وارد می کنیم. توجه کنید که در هر پارامتر آرایه temp باید مقدار پارامتر دوم (با اندیس ۱) را وارد کنید.
منبع: http://flashcenter.ir/blog/?p=239
۱. برای مثال آرایه زیر را در نظر بگیرید.
کد:
var my_array:Array = [1,5,3,4,2,6,7,8,11,10,9,12,13,14];
۲. به کمک دستور زیر می توانید آرایه را به صورت الفبایی مرتب کنید.
کد:
my_array.sort();
trace(my_array); // output: 1,10,11,12,13,14,2,3,4,5,6,7,8,9
۳. همچنین با افزودن پارامتر NUMERIC به کد قبلی می توانید آرایه را به صورت عددی مرتب کنید.
کد:
my_array.sort(Array.NUMERIC);
trace(my_array); // output: 1,2,3,4,5,6,7,8,9,10,11,12,13,14
۴. برای چیدمان رندوم باید ابتدا یک آرایه کمکی بسازید.
کد:
var temp:Array = new Array();
۵. حالا این آرایه را با پارامترهای آرایه اصلی پر می کنیم (به کمک دستور for). هر پارامتر در آرایه temp از یک آرایه با دو پارامتر تشکیل می شود که پارامتر اول یک عدد رندوم و پارامتر دوم مقدار معادل در آرایه اصلی است.
کد:
for (var i:Number = 0; i < my_array.length; i++) {
temp.push([Math.random(), my_array[i]]);
}
۶. در ادامه به کمک دستور زیر آرایه temp را با توجه به پارامترهای اول هر پارامتر (عدد رندوم) مرتب می کنیم.
کد:
temp.sort();
۷. سپس آرایه اصلی را خالی می کنیم (یک شیء جدید از آن می سازیم).
کد:
my_array = new Array();
۸. درنهایت مقادیر مرتب شده به صورت رندوم را یکی یکی به آرایه اصلی وارد می کنیم. توجه کنید که در هر پارامتر آرایه temp باید مقدار پارامتر دوم (با اندیس ۱) را وارد کنید.
کد:
for (i = 0; i < temp.length; i++) {
my_array.push(temp[i][1]);
}
trace ("random:", my_array); // output: 6,2,13,10,8,7,5,14,1,11,12,4,9,3
منبع: http://flashcenter.ir/blog/?p=239