Js比较对Object类型进行排序

Posted lonecloud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js比较对Object类型进行排序相关的知识,希望对你有一定的参考价值。

 1 <script>
 2     var data=[{name:"121",age:"18",year:"2018"},{name:"132",age:"16",year:"2019"}]
 3     /**
 4      * 创建比较参数函数
 5      * @param propertyName 属性名
 6      * @returns {Function} 返回比较函数
 7      */
 8     function compareFunction(propertyName){
 9         return function (src,tar) {
10             //获取比较的值
11             var v1=src[propertyName];
12             var v2=tar[propertyName];
13             if(v1>v2){
14                 return 1;
15             }
16             if(v1<v2){
17                 return -1;
18             }
19             return 0;
20         };
21     }
22     //按照age进行比较
23     data.sort(compareFunction("age"));
24     alert(data[0].name);
25     //按照year进行比较
26     data.sort(compareFunction("year"));
27     alert(data[0].name)
28 </script>

 

以上是关于Js比较对Object类型进行排序的主要内容,如果未能解决你的问题,请参考以下文章

根据对象的某一属性进行排序的js代码(如:name,age)

初级排序算法

js使用Array.prototype.sort()对数组对象排序的方法

JS学习之--比较两个Object数组是否相等

如何在排序对象列表时解决自定义比较器的意外行为?

JS 相等判断(==,===,Object.is)