Javascript排序数字 [英] Javascript Sorting Numbers
本文介绍了Javascript排序数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用javascript按降序对数字进行排序。它适用于字符串但是当我使用数字时它会给我错误的结果。
I am trying to sort the number in descending order using javascript. It works well for strings but when I use numbers it gives me wrong results.
以下是代码:
<html>
<head>
<script language ="Javascript">
function sort(form)
{
var a1=form.first.value
var b1 = form.second.value
var c1 =form.third.value
var a2= parseFloat(a1)
var b2=parseFloat(b1)
var c2= parseFloat(c1)
var rank_the_numbers = [a2,b2,c2]
rank_the_numbers.sort(function(a, b){return a-b})
document.writeln("The largest number is: "+rank_the_numbers[0])
document.writeln("<br> The second largest number is: " +rank_the_numbers[1])
document.writeln("<br> The smallest number is: " +rank_the_numbers[2])
document.writeln(rank_the_numbers)
}
</script>
</head>
<form onSubmit="return sort(this)">
Enter any three numbers: <br>
<input type="text" name="first" size=5><br>
<input type="text" name="second"size=5><br>
<input type="text" name="third" size=5><br>
<input type="submit" value= "Rank the numbers!" onClick = "sort(this.form)">
</form>
</body>
</html>
我应该做出哪些更改,以便代码也能正确运行。我在stackoverflow上经历了一些文章并使用了(函数(a,b){return ab}),但它也没有用。
What changes should i make so that the code runs correctly for the numbers too. I went through a few articles on stackoverflow and used (function(a, b){return a-b}), but it too did not work.
推荐答案
对于降序
排序应该是
rank_the_numbers.sort(function (a, b) {
return b - a;
});
JSFIDDLE
这篇关于Javascript排序数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文