<script type="text/javascript">
var arr=new Array(9,6,10,5);
document.write('原数组:'+arr+'<br>');
function ascOrder(x,y){
if(x>y){
return 1;
}else{
return -1;
}
}
arr.sort(ascOrder);
document.write('排序后的数组:'+arr);
</script>这里的return 1;和return -1;是干什么的?在这里有什么作用?
在这段JavaScript代码中,return 1;和return -1;用于定义数组排序的规则。
在arr.sort(ascOrder)方法中,ascOrder函数作为比较函数,它接收两个参数x和y,代表数组中正在比较的两个元素。
当比较函数返回-1时,表示x应该排在y之前;当返回1时,表示x应该排在y之后。
具体来说,当x > y时返回1,意味着较大的数字应该排在后面;当x不大于y时返回-1,意味着较小的数字应该排在前面。
这种逻辑实现了数组的升序排序,因此原数组[9,6,10,5]会按照数字从小到大的顺序排列。
这种返回值的约定是JavaScript排序算法的标准行为,广泛应用于数组的排序操作中。