大师请进数组中的对像排序有好方法吗?

gaowenzhen 2013-05-15 12:13:15


arryrs[{
endTime: "10:30",startTime: "09:20"
},
{
endTime: "12:30",startTime: "11:30"
},
{
endTime: "15:30",startTime: "14:30"
},
{
endTime: "21:30",startTime: "15:30"
},
{
endTime: "09:20",startTime: "08:30"
},
{
endTime: "11:30",startTime: "10:30"
},
{
endTime: "14:30",startTime: "12:30"
},
{
endTime: "22:30",startTime: "21:30"
}]




能否排序成如下,从8:30----到----22:30
[{endTime: "09:20",startTime: "08:30"},{endTime: "10:30",startTime: "09:20"},....{endTime: "21:30",startTime: "15:30"},{endTime: "22:30",startTime: "21:30"}]
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinghome 2013-05-15
  • 打赏
  • 举报
回复

var arryrs = [{
    endTime: "10:30",startTime: "09:20"
},
{
    endTime: "12:30",startTime: "11:30"
},
{
    endTime: "15:30",startTime: "14:30"
},
{
    endTime: "21:30",startTime: "15:30"
},
{
    endTime: "09:20",startTime: "08:30"
},
{
    endTime: "11:30",startTime: "10:30"
},
{
    endTime: "14:30",startTime: "12:30"
},
{
    endTime: "22:30",startTime: "21:30"
}]
function compareArr(a,b){
	return (a.startTime).localeCompare(b.startTime)
}
window.onload = function(){
	arryrs.sort(compareArr);
	
	var d = document.getElementById("arr");
	var label;
	for(var i=0; i< arryrs.length; i++){
		label = document.createElement("p");
		label.innerHTML = arryrs[i].startTime;
		d.appendChild(label)
	}
}

<div id="arr"> </div>
kinghome 2013-05-15
  • 打赏
  • 举报
回复

<script>
<script>
var arryrs = [{
    endTime: "10:30",startTime: "09:20"
},
{
    endTime: "12:30",startTime: "11:30"
},
{
    endTime: "15:30",startTime: "14:30"
},
{
    endTime: "21:30",startTime: "15:30"
},
{
    endTime: "09:20",startTime: "08:30"
},
{
    endTime: "11:30",startTime: "10:30"
},
{
    endTime: "14:30",startTime: "12:30"
},
{
    endTime: "22:30",startTime: "21:30"
}]
function compareArr(a,b){
	return (a.startTime).localeCompare(b.startTime)
}
window.onload = function(){
	arryrs.sort(compareArr);
	
	var d = document.getElementById("arr");
	var label;
	for(var i=0; i< arryrs.length; i++){
		label = document.createElement("p");
		label.innerHTML = arryrs[i].startTime;
		d.appendChild(label)
	}
}
</script>
<div id="arr"> </div>

</script>
JavaScript_R 2013-05-15
  • 打赏
  • 举报
回复
function my_sort(arr, para) { arr.sort(function(a,b){ for(var i=0;i<para.length;i++) if(!b[para[i]]-a[para[i]]) return b[para[i]-a[para[i]];//升序 }); } my_sort(arryrs,["startTime","endTime"]);
JavaScript_R 2013-05-15
  • 打赏
  • 举报
回复
function my_sort(arr, para) { arr.sort(function(a,b){ for(var i=0;i<para.length;i++) if(b[para[i]]-!a[para[i]]) return b[name]-a[name];//降序 }); } my_sort(arryrs,["startTime","endTime"]);
gaowenzhen 2013-05-15
  • 打赏
  • 举报
回复
感谢大师,localeCompare这个方法第一次用到。
JavaScript_R 2013-05-15
  • 打赏
  • 举报
回复


function my_sort(arr, para)
{
	arr.sort(function(a,b){
	   for(var i=0;i<para.length;i++)
	   if(b[para[i]]-!a[para[i]]) return b[name]-a[name];//降序
	 }
	});
}
my_sort(arryrs,["startTime","endTime"]);

87,903

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧