把所有分数放入一个数组中,就可以用数组排序的方法来排序
<script type="text/javascript">function sortNumber(a,b){
return a-b
}
var arr = new Array(3,5,8,31,66,2)
document.write(arr.sort(sortNumber))
</script>
需要注意的是sortNumber这个方法,因为sort()是按照首字母或数字来排序的,如果没有sortNumber结果为2,3,31,5,66,8 ,这个显然不是我们所要的,如果想按照其他标准进行排序,就需要提供比较函数,如果a小于b,返回一个小于0的值,a排在b的前面,就是小的排前,大的排后,如果两者相等,就返回一个0,如果a大于b,返回一个大于0的值,b排在a的前面,根据这个,我们创建一个sortNumber的函数来判断。
这个问题,我在另一个问题里答复过,简直一模一样。。。。
https://zhidao.baidu.com/question/1694280288809319988
使用java的冒泡排序发就可以实现,var score = new Array()
score = 你获得的集合,可以直接赋值给score
下面是排序:
for (var i = 0i <score.length -1i++){
for(var j = 0 j <score.length - i - 1j++){
if(score[j] <score[j + 1]){
int temp = score[j]
score[j] = score[j + 1]
score[j + 1] = temp
}
}
}
建立一个页面上面放一个文本框id是txt,一个输入确定按钮id是btn,一个获取最高分按钮id是btn1,js代码如下
var scores = []//成绩输入集合window.onload = function(){
//输入按钮事件
document.getElementById("btn").click = function(){
var score = document.getElementById("txt").value
scores.push(score)
}
//获取最高分按钮事件
document.getElementById("btn1").click = function(){
scores.sort(function(a,b){
if(a > b){
return 0
}else{
return 1
}
})
alert(scores[0])
}
}