var fruit=[7,10,32,6,9,4];
document.write(fruit+'<br>');
fruit.sort(sortFun);
document.write(fruit);
function sortFun(ar1,ar2){
if(ar1>ar2){
return 1;
}else if(ar1<ar2){
return -1;
}else{
return 0;
}
}
这段代码是怎么让数组元素排列的呢? 求大神详细的讲解下 感谢感谢
巴扎黑2017-05-19 10:13:03
为了帮助理解,你可以试下直接调用sort方法:
var fruit=[7,10,32,6,9,4];
fruit.sort();
返回结果是:[10, 32, 4, 6, 7, 9]
而不是期待中的:[ 4, 6, 7, 9, 10, 32]
为什么会这样呢?
因为这是数组原型链上的sort()方法,即Array.prototype.sort()
。
如何深入研究这个sort()方法:
1.可以去看mdn文档https://developer.mozilla.org...
2.可以去看《javascript高级程序设计》,但是高设讲得不全
3.最暴力的方法是去看ECMA2015规范:http://www.ecma-international...
4.如果你实在觉得看得头疼了,可以看下我去年写的博客后再重复1,2,3步:http://www.jianshu.com/p/b50a...
希望能帮助到你...