0
在解決這個問題時遇到了一些麻煩。看看其他解決方案之一,但它是針對不同版本的問題。Resig高級Javascript p#43
John Resig Advanced Javascript Question
具體來說,參照舊的問題,因爲Resig的根本不會在這個問題之前的教程中,我想知道是否有不同的解決方案使用「原型」或「切片」。
http://ejohn.org/apps/learn/#43
這裏的問題,目前的案文:
function highest(){
return arguments.sort(function(a,b){
return b - a;
});
}
assert(highest(1, 1, 2, 3)[0] == 3, "Get the highest value.");
assert(highest(3, 1, 2, 3, 4, 5)[1] == 4, "Verify the results.");
我也有一個小麻煩理解爲什麼「B - 一」的回報。當更改爲b或只是a時,它仍然通過所有測試。
你是指參數集合不是數組的事實嗎?這就是爲什麼你會得到這個錯誤:錯誤對象#沒有方法'排序'。(請參閱這個例子:http://debuggable.com/posts/turning-javascript-s-arguments-object-into-an-array: 4ac50ef8-3bd0-4a2d-8c2e-535ccbdd56cb) – 2012-03-29 11:22:14
默認的排序行爲是詞法分析,即[7,30,200]的數組排序爲[200,30,7]。所以你必須傳入一個比較函數才能得到正確的數字排序。你得到的任何具體錯誤? – 2012-03-29 11:26:22