js将对象数组按照自定义规则排序

javascript对一个对象数组进行自定义规则排序,对象中有两个字段。

按照对象中一个字段a的值从小到大规则排序

效果如下:

排序前:
[0]:a=9,b=3
[1]:a=33,b=7
[2]:a=1,b=99
[3]:a=9,b=8
[4]:a=2,b=6
[5]:a=2,b=54
排序后:
[0]:a=1,b=99
[1]:a=2,b=6
[2]:a=2,b=54
[3]:a=9,b=3
[4]:a=9,b=8
[5]:a=33,b=7

1136226-20170705091720800-737311604.png

代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>

<script type="text/javascript">

function sortNumber(a,b){
    return a.a - b.a;
}

var arr = new Array();
arr[0] = {a:9,
           b:3};
arr[1] = {a:33,
           b:7};
arr[2] = {a:1,
           b:99};
arr[3] = {a:9,
           b:8};
arr[4] = {a:2,
           b:6};
arr[5] = {a:2,
           b:54};

document.writeln('排序前:<br />');
for(var i=0;i<arr.length;i++){
   //arr[i]=i;
   document.writeln('[' + i + ']:a=' + arr[i].a + ',b=' + arr[i].b + '<br />');
}
   

//document.write(arr + "<br />")
document.write("<hr />排序后:<br />");
//document.write(arr.sort(sortNumber))
arr.sort(sortNumber);
console.log(arr);
for(var i=0;i<arr.length;i++){
   //arr[i]=i;
   document.writeln('[' + i + ']:a=' + arr[i].a + ',b=' + arr[i].b + '<br />');
}
</script>

</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值