测试Array对象的sort方法的功用。将1985,1970,1999,1998,2000,1963这些年份按升序输出

测试Array对象的sort方法的作用。将1985,1970,1999,1998,2000,1963这些年份按升序输出。

<script type="text/javascript">
var years = new Array(1985,1970,1999,1998,2000,1963);
document.write("排序前的各年份:<li>" + years+"</li>");
function sortFunc( arg1,arg2 ) //排序规则回调函数
{
if( arg1 < arg2 ) //当第一个元素小于第二个时返回一个负数
{
return -1;
}
if( arg1 > arg2) //当第一个元素大于第二个时返回一个正数
{
return 1;
}
if( arg1 = arg2 ) //当第一个元素等于第二个时返回0
{
return 0;
}
}
var Sortted = years.sort(sortFunc); //排序
//分别输出排序前后的数组
document.write("排序后的各年份:<li>" + Sortted+"</li>");
</script>

1楼double Net
sort方法传入的函数返回值是true或false,不是1、-1、0. 如果返回的不是boolean就会把返回值转型为boolean。,1=gt;true;-1=gt;true;0=gt;false;,-1或1都会交换的。