87,996
社区成员




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Array Sort By Type</title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<script type="text/javascript">
<!--
Array.prototype.SortNumberOrderByAscending = function() {
return this.sort(function(ele1, ele2) {
return (ele1 - ele2);
});
};
Array.prototype.SortNumberOrderByDescending = function() {
return this.sort(function(ele1, ele2) {
return (ele2 - ele1);
});
};
Array.prototype.SortDateOrderByAscending = function() {
return this.sort(function(ele1, ele2) {
return (ele1.valueOf() - ele2.valueOf());
});
};
Array.prototype.SortDateOrderByDescending = function() {
return this.sort(function(ele1, ele2) {
return (ele2.valueOf() - ele1.valueOf());
});
};
Array.prototype.SortAsciiStringOrderByAscending = function() {
return this.sort();
};
Array.prototype.SortAsciiStringOrderByDescending = function() {
return this.sort().reverse();
};
Array.prototype.SortChineseStringOrderByAscending = function() {
return this.sort(function(ele1, ele2) {
return ele1.localeCompare(ele2);
});
};
Array.prototype.SortChineseStringOrderByDescending = function() {
return this.sort(function(ele1, ele2) {
return -ele1.localeCompare(ele2);
});
};
var numberArray = new Array(2, 101, 11, 131, 20, 1);
document.write(numberArray, "<br />");
document.write(numberArray.sort(), "<br />");
document.write(numberArray.SortNumberOrderByAscending(), "<br />");
document.write(numberArray.SortNumberOrderByDescending(), "<br />");
document.write("<hr />");
Date.prototype.toString = Date.prototype.toLocaleString;
var dateArray = new Array(new Date(2009, 1, 2), new Date(2010, 11, 1), new Date(), new Date(1999, 1, 13));
document.write(dateArray, "<br />");
document.write(dateArray.sort(), "<br />");
document.write(dateArray.SortDateOrderByAscending(), "<br />");
document.write(dateArray.SortDateOrderByDescending(), "<br />");
document.write("<hr />");
var asciiArray = new Array("zewr", "iue", "pieb", "oine");
document.write(asciiArray, "<br />");
document.write(asciiArray.sort(), "<br />");
document.write(asciiArray.SortAsciiStringOrderByAscending(), "<br />");
document.write(asciiArray.SortAsciiStringOrderByDescending(), "<br />");
document.write("<hr />");
var chineseArray = new Array("大", "中", "小", "啊", "喝");
document.write(chineseArray, "<br />");
document.write(chineseArray.sort(), "<br />");
document.write(chineseArray.SortChineseStringOrderByAscending(), "<br />");
document.write(chineseArray.SortChineseStringOrderByDescending(), "<br />");
document.write("<hr />");
//-->
</script>
</body>
</html>
var obj=[["d",2,new Date("2010/02/01")],
["c",3,new Date("2010/05/01")],
["a",4,new Date("2010/03/01")],
["b",1,new Date("2010/04/01")]];
var sortBy=0;
var flag=false;//asc:true;Desc:false
obj.sort(function(o1,o2){
if(o1[sortBy]>=o2[sortBy]==flag){return 1;}
else{return -1}
});
alert(obj);
var obj=[["d",2,new Date("2010/02/01")],
["c",3,new Date("2010/05/01")],
["a",4,new Date("2010/03/01")],
["b",1,new Date("2010/04/01")]];
var sortBy=0;
var flag=false;//asc:true;Desc:false
obj.sort(function(o1,o2){
if(o1[sortBy]>=o2[sortBy]==asc){return 1;}
else{return -1}
});
alert(obj);