javascript 排序

javascript的原生态的sort排序功能不够强大,项目中运用到,晚上查阅资料,与大家共享。

 

功能需求:利用JavaScript进行对象排序,例如根据用户的年龄排序展示,数据如下:

<script type="text/javascript">
         	 function Player(name,age){
         	 	this.name = name;
         	 	this.age = age;
         	 }
         	 
         	 var Lyn = new Player("Lyncc",25);
         	 var Fly = new Player("Fly",27);
         	 var Sky = new Player("Sky",29);
         	 var Miss = new Player("Miss",24);
         	 
         	 var war3Players = [Lyn,Fly,Sky,Miss];
</script>

 根据JavaScript的策略模式和js的闭包:

<script type="text/javascript">
         	 function Player(name,age){
         	 	this.name = name;
         	 	this.age = age;
         	 }
         	 
         	 var Lyn = new Player("Lyncc",25);
         	 var Fly = new Player("Fly",27);
         	 var Sky = new Player("Sky",29);
         	 var Miss = new Player("Miss",24);
         	 
         	 var war3Players = [Lyn,Fly,Sky,Miss];
         	 
         	 war3Players.sort(sortByValue("age"));
         	 for(var p in war3Players){
           	 console.info(war3Players[p].name+war3Players[p].age);
             }
             
             function sortByValue(value){
             	var realSort = function(obj1,obj2){
             		if(obj1[value]>obj2[value])return 1;
             		else if(obj1[value]==obj2[value]) return 0;
             		else return -1; 
             	};
             	return realSort;
             }
         </script>

 如果有错误,请指出~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值