📜  js中对象的降序 - Javascript(1)

📅  最后修改于: 2023-12-03 15:02:26.955000             🧑  作者: Mango

JS中对象的降序

在JavaScript中,可以使用sort()方法对数组中的元素进行排序。默认情况下它按照字母顺序排序,但是当您想要按某些其他参数进行排序时,您需要使用sort()方法的回调函数。回调函数接受两个参数,并将它们分配给两个相邻的数组元素。按照正数、零、负数相应地排列两个元素。

我们可以用这个想法来进行对象的排序。回调函数函数接受两个对象作为参数,然后根据这些对象中的特定属性/属性的值来比较它们。以下是如何按降序排序包含对象的数组:

// 创建包含多个对象的数组
var employees = [
  { name: "John", age: 25, position: "Developer", salary: 60000 },
  { name: "Mike", age: 32, position: "Manager", salary: 75000 },
  { name: "Sonia", age: 27, position: "Designer", salary: 80000 },
  { name: "Bob", age: 19, position: "Intern", salary: 40000 }
];

// 通过 salary 属性对数组进行排序(降序)
employees.sort(function(a,b){
  return b.salary - a.salary;
});

// 输出排序后的结果
console.log(employees);

/* 输出:
[
  { name: 'Sonia', age: 27, position: 'Designer', salary: 80000 },
  { name: 'Mike', age: 32, position: 'Manager', salary: 75000 },
  { name: 'John', age: 25, position: 'Developer', salary: 60000 },
  { name: 'Bob', age: 19, position: 'Intern', salary: 40000 }
]
*/

上面的代码将按降序按照salary属性来排序employees数组。注意sort()方法的回调函数返回b.salary - a.salary,这意味着b对象的salarya对象的salary更高,因此b应该排在a之前。