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;
}
}
這段程式碼是怎麼讓陣列元素排列的呢?求大神詳細的講解下 感謝感謝
為了幫助理解,你可以試試直接呼叫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...
希望能幫助你...
雷雷
題主你可能需要這篇 https://developer.mozilla.org...