数组对象排序

简介: 数组对象排序

数组对象排序


这样的排序是有问题的,如果有两个值的排序是一样的,排序排出来的顺序就不正确


sortFun (attr,rev){
       //第二个参数没有传递 默认升序排列
       if(rev ==  undefined){
           rev = 1;
      }else{
           rev = (rev) ? 1 : -1;
      }
       return function(a,b){
           a = a[attr];
           b = b[attr];
           if(a < b){
               return rev _ -1;
          }
           if(a > b){
               return rev _ 1;
          }
           return 0;
      }
},
let arr=[
    {
        name:`一`,
        number:1,
    },
    {
        name:`二`,
        number:2,
    }
]
arr.sort(this.sortFun(`number`))


参考 https://developer.mozilla.org/zh-

CN/docs/Web/JavaScript/Reference/Global_Objects/Array/sort


使用下面这个方式排序


var sdts = [
  {name:"小明",age:10},
  {name:"小红",age:20},
  {name:"小花",age:40},
  {name:"小明",age:10},
  {name:"小红",age:20},
  {name:"小明",age:10},
  {name:"小红",age:20},
  {name:"小花",age:40},
  {name:"小明",age:10},
  {name:"小红",age:20},
  {name:"小花",age:40},
];
function compare(property,desc) {
  return function (a, b) {
    var value1 = a[property];
    var value2 = b[property];
    if(desc==true){
      // 升序排列
      return value1 - value2;
    }else{
      // 降序排列
      return value2 - value1;
    }
  }
}
// console.log(sdts.sort(compare("age",true)))
console.log(sdts.sort(compare("age",false)))




相关文章
|
9月前
|
存储 C++
C++程序中的对象数组
C++程序中的对象数组
79 0
|
3月前
将一个数组复制给另外一个数组
【10月更文挑战第29天】将一个数组复制给另外一个数组。
37 2
数组去重-数组对象去重
数组去重-数组对象去重
63 0
|
9月前
|
存储 C++
32对象数组
32对象数组
40 0
35 Map集合遍历
Map集合遍历 1 方式1 1.1 获取所有键的集合。⽤keySet()⽅法实现 1.2 遍历键的集合,获取到每⼀个键。⽤增强for实现 1.3 根据键去找值。⽤get(Object key)⽅法实现
97 0
对象转字典、字典排序
对象转字典、字典排序
116 0
二维数组、对象数组、集合排序
快速学习二维数组、对象数组、集合排序
|
Python
【怎么给一个字典进行按值或key来排序?】
字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。
121 0
|
存储 Java API
详解JAVA数组与字符串
详解JAVA数组与字符串
详解JAVA数组与字符串