<script>
function compare ( value1, value2) {
if (value1 > value2) {
return 1;
}
else if (value2 > value1) {
return -1
}
else {
return 0;
}
}
var vals = [12,93,41,62,99]
vals.sort(compare)
document.write(vals)
</script>
答案 0 :(得分:0)
sort()
,则默认情况下会根据每个字符的Unicode
代码点值对值进行排序。在javascript中,您可以匿名(function(){...}
)或按名称传递函数:
function myFunction(){}
[].sort(myFunction);
注意,您只传递函数名称而不是myFunction()
因为这将执行该函数并传入返回的内容(这不是我们想要的)< / p>
在传递给sort()
的回调函数中,例如compare(a,b)
,返回
-1
- &gt; a 小于 b
0
- &gt; a 等于到b
1
- &gt; a greatar 比b
答案 1 :(得分:0)
我们可以将compare函数作为sort方法的参数传递,或者将其写入内联,例如
<script>
var a = [30,2,1,9,15];
a.sort(function(a,b) { return a-b; });
document.write(a);
</script>
或者我们可以指定比较方法并在您的情况下明确调用它。
调用sort()方法时,它会比较两个值。它将值发送到compare函数,并根据返回的(负,零,正)值对值进行排序。