/** * quickSort method */ quickSort:function(arr,p,r) { if (p < r) { var q = Notice.partition(arr,p,r); Notice.quickSort(arr,p,q-1); Notice.quickSort(arr,q+1,r); } }, partition:function(arr,p,r) { var i = p; var j = r + 1; var x = arr[p]; while (true) { while (i < r && arr[++i].endOffset < x.endOffset); while (j > 0 && arr[--j].endOffset > x.endOffset); if (i >= j) break; var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } arr[p] = arr[j]; arr[j] = x; return j; },
<script type="text/javascript">
var a = [
{ n : 1, v : "a1" }, { n : 1, v : "a2" }, { n : 2, v : "b1" }, { n : 0, v : "z1" }
];a.sort(function (a, b) { return a.n - b.n; });
a.sort(function (a, b) { return a.n - b.n; });alert(a[1].v);
</script>
我随手放上的那个
你在函数里设置返回0就不会有变动的
a.sort(function (a, b) { return 0; });
你可以测试下这个
<script>
o="也不为过,A,B,Q,Z,abort,apple,bp,b土,d,o,something,上世纪,上世纪,五月天,刘德华,aPPel,A,a,DD,斤斤计较,dd,EE,ee,EF,ef,Eo,eA,Eq,eZ,地区性,张学友,张韶涵,B,b,C,c,手语,是上,苹果,范玮琪,阿桑,香蕉,(,},#"
document.write("<p>原字符</p>"+o);
o=o.split(',').sort(function(a,b){return a.localeCompare(b)});
document.write("<p>排序后</p>"+o);
</script>
* quickSort method
*/
quickSort:function(arr,p,r) {
if (p < r) {
var q = Notice.partition(arr,p,r);
Notice.quickSort(arr,p,q-1);
Notice.quickSort(arr,q+1,r);
}
},
partition:function(arr,p,r) {
var i = p;
var j = r + 1;
var x = arr[p];
while (true) {
while (i < r && arr[++i].endOffset < x.endOffset);
while (j > 0 && arr[--j].endOffset > x.endOffset);
if (i >= j) break;
var temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
arr[p] = arr[j];
arr[j] = x;
return j;
},
function descSort(a, b)
{
//解析超连接的内容
var startA = a[sortColNum].indexOf(">") >= 0 ? a[sortColNum].indexOf(">") + 1 : 0;
var endA = a[sortColNum].lastIndexOf("<") >= 0 ? a[sortColNum].lastIndexOf("<") : a[sortColNum].length;
var startB = b[sortColNum].indexOf(">") >= 0 ? b[sortColNum].indexOf(">") + 1 : 0;
var endB = b[sortColNum].lastIndexOf("<") >= 0 ? b[sortColNum].lastIndexOf("<") : b[sortColNum].length;
if(sortMethod[sortColNum] == "num")//数字排序
{
return -( parseFloat(a[sortColNum].substring(startA, endA)) - parseFloat(b[sortColNum].substring(startB, endB)));
}
else if (sortMethod[sortColNum] == "str")//字符串排序
{
//alert(a[sortColNum].substring(startA, endA));
if (a[sortColNum].substring(startA, endA) == b[sortColNum].substring(startB, endB))
{
return 0;
}
else
{
return ( a[sortColNum].substring(startA, endA) < b[sortColNum].substring(startB, endB) ? 1 : -1);
}
}
}