用js 对拥有多个对象的数组进行排序
2020-12-13 03:58
标签:style blog class code c java 我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收 用js 对拥有多个对象的数组进行排序,搜素材,soscw.com 用js 对拥有多个对象的数组进行排序 标签:style blog class code c java 原文地址:http://www.cnblogs.com/xukunblog/p/3730139.html
两个参数,即要比较的值。可是,我们需要一种方式来指明按照哪个属性来排序。要解决这个问题,
可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数,下面就是这个函
数的定义。 1 function createComparisonFunction(propertyName) {
2 return function (object1, object2) {
3 var value1 = object1[propertyName];
4 var value2 = object2[propertyName];
5 if (value1 value2) {
6 return -1;
7 } else if (value1 > value2) {
8 return 1;
9 } else {
10 return 0;
11 }
12 };
13 }
1 var data = [{name: "Zachary", age: 28}, {name: "Nicholas", age: 29}];
2 data.sort(createComparisonFunction("name"));
3 alert(data[0].name); //Nicholas
4 data.sort(createComparisonFunction("age"));
5 alert(data[0].name); //Zachary