沐oo音
2018-04-25 20:29
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Array对象 </title>
<script type="text/javascript">
function sortNum(a,b) {
if(a>=b){
return 1
}
else{
return -1
}
}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
</script>
</head>
<body>
</body>
</html>
为什么我写的排序函数,最终没有按顺序排呢,是乱序
输出结果为:1,100,16,50,6,80
因为数组里存的字符串呀,(重点)字符串比较大小和数字比较大小是不一样的,可以这样写:if(parseInt(a)>=parseInt(b)){return 1}else{return -1} 先把字符串转成数字再比较大小
JavaScript进阶篇
468194 学习 · 21891 问题
相似问题