使用JavaScript中的Array.sort()方法,配合自定义的比较函数,可以根据对象的不同键值进行排序。
例如我们有一个包含多个对象的数组arr:
var arr = [ { name: 'Tom', age: 25 }, { name: 'Alex', age: 20 }, { name: 'John', age: 30 } ];
我们可以根据不同的键值进行排序:
//按name属性进行排序 arr.sort(function(a, b) { var nameA = a.name.toUpperCase(); //忽略大小写进行比较 var nameB = b.name.toUpperCase();
if (nameA < nameB) { return -1; }
if (nameA > nameB) { return 1; }
//名称相等,则按年龄排序 return a.age - b.age; });
//按age属性进行排序 arr.sort(function(a, b) { return a.age - b.age; });
//按age属性逆序排序 arr.sort(function(a, b) { return b.age - a.age; });
可以根据以上示例,使用自定义的比较函数按照不同键值对对象数组进行排序。