对于数组的的排序可以有多种方法,其中的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;
}
}