根據javascript的手冊,將sort()方法進行運算,結果
<script> var arr = [2,3,56,12,546,77,98]; alert(arr.sort()); </script>
l根據javascript的手冊,將sort()方法進行運算,結果如下:
可以看到這並不是我們需要的排序,於是根據手冊的提示:
如果爲 sortfunction 參數提供了一個函數,那麼該函數必須返回下列值之一:
負值,如果所傳遞的第一個參數比第二個參數小。
零,如果兩個參數相等。
正值,如果第一個參數比第二個參數大。
於是我封裝一個函數demosort()
<script> var arr = [2,3,56,12,546,77,98]; arr.sort(function demosort(x, y){ if (x< y) { return -1; //小於,返回-1 } else if (x > y) { return 1; //大於返回1 } else { //其他,返回 0 return 0; } }); alert(arr); </script>
這樣的話,再次通過sort()函數即可實現正確的排序。
結果如下:
這樣就實現了真正意義上的排序。至於逆序可以將返回值相反,或者直接使用 reverse()函數。