第一种方法:冒泡排序
排序前的数据是这样子的:
排序后是这样子的:
代码可以直接复制使用的:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title></title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
</head>
<body>
<script type="text/javascript">
$(function(){
var _arrayList=new Array();
var _newArrayList=new Array();
_arrayList[0]={"id":1,"name":"张三","distance":100};
_arrayList[1]={"id":2,"name":"李四","distance":120};
_arrayList[2]={"id":3,"name":"王武","distance":80};
_arrayList[3]={"id":4,"name":"二狗","distance":40};
_arrayList[4]={"id":5,"name":"屎蛋","distance":160};
for(var i=0;i<_arrayList.length;i++)
{
for(var u=i+1;u<_arrayList.length;u++)
{
if(parseFloat(_arrayList[i]["distance"])>parseFloat(_arrayList[u]["distance"]))
{
var num=[];
num=_arrayList[i];
_arrayList[i]=_arrayList[u];
_arrayList[u]=num;
}
}
}
console.log(_arrayList);
});
</script>
</body>
</html>
其实Es6的方法更简单:
var person = [
{name:"Rom",age:12},
{name:"Bob",age:22},
{name:"Ma",age:5},
{name:"Tony",age:25}
]
person.sort((a,b)=>{ return a.age-b.age})//升序
person.sort((a,b)=>{ return b.age-a.age})//降序