當(dāng)前位置:軟件學(xué)堂 > 資訊首頁(yè) > 網(wǎng)絡(luò)編程 > 編程其他 > 用JavaScript實(shí)現(xiàn)數(shù)組排序

用JavaScript實(shí)現(xiàn)數(shù)組排序

2012/11/6 15:50:47作者:佚名來(lái)源:網(wǎng)絡(luò)

移動(dòng)端

【實(shí)例名稱】

用JavaScript實(shí)現(xiàn)數(shù)組排序

【實(shí)例描述】

數(shù)組排序有多種方法,本例將使用最簡(jiǎn)單的插人式排序法,學(xué)習(xí)如何實(shí)現(xiàn)數(shù)組排序。

【實(shí)例代碼】

<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>標(biāo)題頁(yè)-學(xué)無(wú)憂(wangbatian.cn)</title> <SCRIPT LANGUAGE="JavaScript"> //為參數(shù)中的數(shù)組排序 function Sort() {   var str=document.getElementById("txt1").value   var arr=str.split(',');   var st = new Date();   //計(jì)算排序的開始時(shí)間   var temp, j;   //逐個(gè)檢查數(shù)組中的元素   for(var i=1; i<arr.length; i++) {    if((arr[i]) < (arr[i-1])) {     temp = arr[i];     j = i-1;     do {      arr[j+1] = arr[j];      j--;     }     while (j>-1 && (temp) < (arr[j]));     arr[j+1] = temp;    }   }   status = (new Date() - st) + ' ms'; //用結(jié)束時(shí)間減去開始時(shí)間   alert(arr);    返回排序后的結(jié)果  } </script> </head> <body> <input type=text name="txt1" value="2,8,4,1,3,6"> <input type=button value="排序" onClick="Sort()"> </body> </html>

 

 

【運(yùn)行效果】

 用JavaScript實(shí)現(xiàn)數(shù)組排序運(yùn)行效果

【難點(diǎn)剖析】

本例的難點(diǎn)有兩個(gè):將輸入框的內(nèi)容轉(zhuǎn)換為數(shù)組、對(duì)數(shù)組的數(shù)據(jù)進(jìn)行排序。將一段字符串轉(zhuǎn)換為數(shù)組使用“split”方法,其可以根據(jù)統(tǒng)一的間隔符號(hào)將字符轉(zhuǎn)換。對(duì)數(shù)組排序使用的是逐個(gè)比較法,詳細(xì)方法可參考代碼中的“for”循環(huán)語(yǔ)句。

【源碼下載】

為了JS代碼的準(zhǔn)確性,請(qǐng)點(diǎn)擊:用JavaScript實(shí)現(xiàn)數(shù)組排序 進(jìn)行本實(shí)例源碼下載 

標(biāo)簽: JavaScript  數(shù)組  排序