读书人

关于javascript有关问题

发布时间: 2012-02-21 16:26:23 作者: rapoo

关于javascript问题?
刚学javascript没多久 今天想写个 排序
写完后发现 如果有超过100的数 排序就错误了 ,这是为什么啊各位高手.
代码:
<html>
<head>


<title> paixu </title>


<Script language= "JavaScript ">
function paixu(){
var str = document.mainform.test.value;
var par = new Array();
par = str.split( ", ");
var plength = par.length;
var tmp=0;
var rs= " ";
for(var i =0;i <plength;i++){
for(var a=plength;a> i;a--){
if(par[a] <par[a-1]) {
tmp=par[a-1];
par[a-1]=par[a];
par[a]=tmp;
}
}
}
for(var j=0;j <plength;j++){
if(rs== " "){
rs = rs+par[j];
}else{
rs = rs+ ", "+par[j];
}
}
document.mainform.test.value=rs;


}
</Script>
</head>

<body>
<form name= "mainform " method= "post " action= "# ">
<input type= "text " name= "test " value= " ">
<br> <input type= "button " name= "paixun " value= "排序 " onclick= "return paixu(); ">
</form>
</body>
</html>

[解决办法]
......
[解决办法]
par[a] <par[a-1]
你得到的这些数是字符串,字符串比较是从前往后,比如 "12 "比 "2 "小, "21 "比 "100 "大

解决方法:转型
parseInt(par[a]) <parseInt(par[a-1])

读书人网 >JavaScript

热点推荐