对字符串 升序 降序
对数值 升序 降序
对日期 升序 降序 谢谢
对数值 升序 降序
对日期 升序 降序 谢谢
解决方案 »
- 第一次用JQUERY,回调函数不执行
- 自解压后添加可信任站点
- 用javascript调用PDf控件,赋值src属性为长中文名时IE报严重错误。
- 100分求一个好的javascript加密工具或方法。
- 高手请问在js里我如何用TXT保存数据然后读出数据?或则其他办法不用数据库
- 让表单中(form)的某一个元素不可用的脚本怎么写?
- 高分求解,如何截获一个xml页面不让它显示,而把它转化成一个树状结构??
- 请问如何用javascript关闭当前网页?
- 提取記錄集后,鼠標移動在記錄集上,那一筆就變顏色,這顏色是如何控制的
- 求助!foreach循环用在HTML中,请高手协助!
- 请大家帮下小弟,覆盖div 停止window.setTimeout
- 关于prototype后期动态修改类的属性问题?
arrayObject.sort(sortby)sortby 可选。规定排序顺序。必须是函数。返回对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
s[0]=["说明1",new Date(20),3];
s[1]=["2说明",new Date(256),110];
s[2]=["我来说明",new Date(10),20];
var re= s.sort(function(o1,o2){
if(o1[1]>o2[1])/**按日期升序排列,其它类推*/
{
return 1;
}
else if(o1[1]==o2[1])
{
return -1;
}
else return 1;});
alert(re);
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);
["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);
Number升降序(2)+ Date升降序(2)+ Ascii升降序(2)+ 汉字升降序(2)!至于 lz 所说的嵌套数组,另如果是对象数组,其解法完全相同,只需简单扩展即可!L@_@K
<!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>