浅谈JavaScript对象数组根据某属性sort升降序排序
2017-05-04 21:37
706 查看
1、自定义一个比较器,其参数为待排序的属性。
2、将带参数的比较器传入sort()。
2、将带参数的比较器传入sort()。
var data = [ {name: "Bruce", age: 23, id: 16, score: 80}, {name: "Alice", age: 24, id: 12, score: 90}, {name: "David", age: 21, id: 11, score: 70}, {name: "Cindy", age: 22, id: 10, score: 100}, ]; data.sort(compareUp("age")); data.sort(compareDown("age")); function compareUp(propertyName) { // 升序排序 if ((typeof data[0][propertyName]) != "number") { // 属性值为非数字 return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; return value1.localeCompare(value2); } } else { return function(object1, object2) { // 属性值为数字 var value1 = object1[propertyName]; var value2 = object2[propertyName]; return value1 - value2; } } } function compareDown(propertyName) { // 降序排序 if ((typeof data[0][propertyName]) != "number") { // 属性值为非数字 return function(object1, object2) { var value1 = object1[propertyName]; var value2 = object2[propertyName]; return value2.localeCompare(value1); } } else { return function(object1, object2) { // 属性值为数字 var value1 = object1[propertyName]; var value2 = object2[propertyName]; return value2 - value1; } } }
相关文章推荐
- JavaScript对象数组根据某属性sort升降序排序
- 浅谈JavaScript对象数组根据某属性sort升降序排序
- javascript 数组对象根据指定属性排序
- JavaScript 对象数组,根据某个对象属性进行排序
- JavaScript 根据数组中对象的属性排序
- js数组排序,根据数组中对象的某一属性进行排序 支持数字和字符串的排序,也支持按两个属性进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- 根据对象属性对数组进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- 根据某一属性对数组中的对象进行排序
- javascript 对象数组根据对象object key的值排序
- js 数组对象根据某一属性排序
- 数组的sort方法排序按照对象的属性排序
- 对象数组根据某属性列的灵活排序
- js 对象数组根据对象中的属性排序
- javascript 对象数组根据对象object key的值排序
- 对JavaScript对象数组按指定属性和排序方向进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- 定义Car类,包含两个字段:name和price; (2)在Main方法中,使用Array.Sort方法对Car对象数组根据姓名和价格排序。
- js sort方法根据数组中对象的某一个属性值进行排序