數組排序方法介紹_Flash教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:運用for循環來對多個mc進行檢測然后復制以下代碼到第一楨,出效果。_root.createEmptyMovieClip(m,0);with(m){beginFill(0xff0000);moveTo(50,0);for(i=Math.PI/180;i=Math.PI*2
數組排序sort
sort方法把數組元素按一定的順序重新排列,語法格式如下:
myArray.sort([comparefunction])
comparefunction是可選參數,假如不選用該參數,數組元素按從小到大的順序排列。
例如: var array=new Array("China","Japan","Korea","Canada");
trace(array.join());
array.sort();
trace(array.join());
你可以作一下。復制代碼然后粘貼過去,運行,就可以看到效果的。
輸出結果為China,Japan,Korea,Canada
Canada,China,Japan,Korea
comparefunction參數是一個用于決定排列順序的函數。該函數需要傳遞兩個參數A和B,當調用該函數的對數組進行排序的時候,就把數組中相鄰的兩個元素值作為參數傳遞給函數,然后在函數種對這兩個元素進行比較。最后根據函數的返回值確定排列的順序。規則如下:
返回-1:A派在B前面。
返回0:位置不便。
返回1:A在B后面。
下面給出一個例子來,在該例子種創建了一個數組,該數組原是的順序是從小到大排列,調用排序函數后,改為從大到小排列。
var array=new Array(1,2,3,4,5);
trace(arrat.join());
//調用排序函數排列
array.sort(order);
trace(array.join());
//定義排序函數,要求降序排列
function order(a,b){
if(a>b){
return -1;//返回-1,要求把a排在b的前面
}else if(a<b){
return 1;//返回1,把a排在b的后面
}else{
return 0;//返回0,保持不變
}
}
輸出結果為1,2,3,4,5
5,4,3,2,1
這只是簡單的一些排序,假如需要根據數組元素的一部分進行排序,就要結合使用字符對象的方法split分割字符串,然后取其中的某個部分進行排序。
例如下面的例子。要對幾個人的工資進行排序,數據按姓名:工資形式記錄。
代碼如下:
gongzi=new Array("里根:3500","布什:3200","克林頓:8888","老不是:1500");
trace("沒有排序的結果:");
trace(gongzi.join()); trace("按照默認的方式排序的結果");
gongzi.sort();
trace(gongzi.join());
trace("按從高到低排序的結果:");
gongzi.sort(order);
trace(gongzi.join());
function order(a,b){
var gongzi1=a.split(":")[1];
var gongzi2=b.split(":")[1];
if(gongzi1>gongzi2){
return -1;
}else if(gongzi1<gongzi2){
return 1;
}else{
return 0;
}
}
大家可以看一下結果。看看前后有什么差別。
sortOn
sortOn方法按數組中某個字段對數組元素進行排序。語法格式如下:
array.sortOn(fieldName)
fieldName參數是用作排序值的數組元素字段名。假如沒有傳遞fieldName參數,則排序操作將失敗。
假如傳遞了多個fieldName參數,則第一個字段將被轉換為字符串值,而其余參數將被忽略。假如被比較的數組元素不包含fieldName參數中制定的字段,則默認按不制定比較函數的sort方法排序。
下面給出一個簡單的例子,并按字段city排序:
var array=new Array();
array.push({name:"bob",city:"omaha",zip:68144});
array.push({name:"greg",city:"kansas city",zip:72345});
array.push({name:"chris",city:"burlingame",zip:94010});
array.sortOn("city");
排序后結果如下:
array[0]=name:"chris",city:"burlingame",zip:94010
array[1]=name:"greg",city:"kansas city",zip:72345
array[2]=name:"bob",city:"omaha",zip:68144
分享:相冊類PhotoAlbum構造函數:創建相冊:(1)用戶指定一個位置用來存放照片。(2)用戶指定照片URL的清單。(3)用戶發出“創建相冊”的命令,提供位置和清單。(4)創建
相關Flash教程:
- 相關鏈接:
- 教程說明:
Flash教程-數組排序方法介紹。