js中对拥有多个对象的数组进行sort排序

对于数组的的排序可以有多种方法,其中的sort方法是数组自带的方法

但是对于拥有多个对象的数组来说,需要根据数组对象的不同属性键给予

数组排序,那么可以用到下面的方法:

    var student = [
{"name":"lisi","age":18,"sex":"male"},
{"name":"zhangsan","age":17,"sex":"female"},
{"name":"wangwu","age":21,"sex":"shemale"}
];

这里需要对student数组的name进行排序:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>sort</title>
	<script type="text/javascript">
		var student = [{"name":"lisi","age":18,"sex":"male"},
		{"name":"zhangsan","age":17,"sex":"female"},
		{"name":"wangwu","age":21,"sex":"shemale"}];
		student.sort(compare("name"));
		console.dir(student);
		function compare(protoTypeName) {
			return function(object1,object2){
				var val1 = object1[protoTypeName];
				var val2 = object2[protoTypeName];
				if(val1<val2){
					return -1;
				}else if(val1>val2){
					return 1;
				}else{
					return 0;
				}
			}
		}
	</script>
</head>
<body>	
</body>
</html>

这是根据name进行升序输出:

这是根据年龄进行排序:

student.sort(compare("age"));

输出:

function sumTwoSmallestNumbers(numbers) {  
  numbers.sort(compare);
  return numbers[0]+numbers[1];
};
function compare(val1,val2){
if(val1<val2){
return -1;
}else if(val1>val2){
return 1;
}else{
return 0;
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值