1
我正在閱讀JavaScript的Web開發第三版,我堅持如何工作。我瞭解比較功能的工作原理。但是values.sort(比較);迷惑了我。比較看兩個參數並進行比較。但我不通過2個參數。即使我向函數傳遞了2個參數,它如何將它自己與數組中的其餘項進行比較?排序函數是否在背景中做了一些我不知道的事情?如果是這樣,它是如何工作的? 預先感謝您:)如何排序比較得到它的數組參數
function compare(value1, value2)
{
if (value1 < value2) {
return 1;
} else if (value1 > value2) {
return -1;
} else {
return 0;
}
}
var values = [0, 1, 5, 10, 15];
values.sort(compare);
alert(values); //15,10,5,1,0
我明白了。謝謝你的回覆:)所以排序算法會看到我有一個x數組的數組,並自動獲取數組中的2個項目,並將它們遞歸用於我的比較函數,直到它被排序爲止? – David
那裏沒有遞歸。檢查一些排序算法,例如冒泡排序並自己實現。那麼你將能夠做到比較功能的目的是什麼。 – zerkms