问题遇到的现象和发生背景
我用的sort排序,但是无论是sort里插入方法,还是单个sort都无法排序,谁知道怎么回事
问题相关代码,请勿粘贴截图
<script>
function write(value) {
document.write(value + " ");
}
function create(array) {
var count = 0;
var random = Math.round(Math.random() * 100);
while (count < 10) {
array[count] = random;
random = Math.round(Math.random() * 100);
count++;
}
}
</script>
<script>
var array1 = Array();
create(array1);
//创建第一个数组
//数组按照数字大小排序
document.write("原数组1:<br/> ");
write(array1);
document.write("<br/>按数字大小排序后的数组:<br/> ")
write(array1.sort());
</script>
<script>
var array2 = Array();
create(array2);
//创建第二个数组
var sort_array2 = function (a , b) {
if (a.source === b.source) {
//source属性返回一个包含regexp对象的源文本的字符串,它不包含两边的两个正斜杠和任何标志。
return 0;
//表示a=b,a,b位置不变
}else if (a.source > b.source) {
return -1;
//表示a>b,将a放在b的前面
}else {
return 1;
//表示a<b,将a放在b的后面
}
}
document.write("<br/>原数组2:<br/> ");
document.write(array2 + "<br/>" + "按照自定义排序后的数组: " + "<br/>");
//自定义排序-倒叙
write(array2.sort(sort_array2));
</script>
运行结果及报错内容
我想要达到的结果
不明白我写的哪有问题
还有,网上写的这些代码是什么意思
function f(a,b) { //排序函数
return -(a - b); //取反并返回比较参数
}
function f(a,b) { //排序函数
return (a - b); //返回比较参数
}
a-b是什么意思,-(a - b)又是什么意思,a减去b么