浅谈JavaScript对象数组根据某属性sort升降序排序
2017-10-26 03:10
555 查看
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 根据数组中对象的属性排序
- js sort方法根据数组中对象的某一个属性值进行排序
- JavaScript 对象数组,根据某个对象属性进行排序
- 数组的sort方法排序按照对象的属性排序
- js根据数组对象中某属性进行排序
- 定义Car类,包含两个字段:name和price; (2)在Main方法中,使用Array.Sort方法对Car对象数组根据姓名和价格排序。
- 对象数组根据某属性列的灵活排序
- JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
- 根据对象属性对数组进行排序
- javascript 数组对象根据指定属性排序
- 根据某一属性对数组中的对象进行排序
- 对象数组根据单个属性进行排序
- js 数组对象根据某一属性排序
- js sort方法根据数组中对象的某一个属性值进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- js sort方法根据数组中对象的某一个属性值进行排序
- js 对象数组根据对象中的属性排序