【提问】关于数组排序的思考?????
自己做个测试:
JScript code
function test()
{
var str="1,3,2,5,10,4,7,6";
var s=str.split(',');
alert(s.sort(function(a,b){ alert(a+","+b);return b-a;}));
}
弹出的信息是:
6,5 4,7, 4,2 5,10 5,3 3,2 2,1 3,2
2,6, 4,7 4,6 3,4 3,7 5,10 5,7 5,4
4,6 5,6 5,10 7,10 7,6 6,10 7,10
最后结果:10,7,6,5,4,3,2,1
问题:
传入函数中a,b的值是随机的吗? 应该不是吧 因为每次执行,显示信息一样.
如果不是,那按什么规律传的呢?
------解决方案--------------------楼主,您理解可能错了。
function(a,b)只是一个比较函数。
js内置引擎在比较数值的时候,也是与我们普通的冒泡算法是一样的。即索引递归比值。
因此弹出的信息是一样的。
具体你可以参考javascript的数组方法。
------解决方案--------------------学习