📌  相关文章
📜  在同一次单击时按升序和降序对对象数组进行排序 - Javascript (1)

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

在同一次单击时按升序和降序对对象数组进行排序 - Javascript

在许多应用程序中,我们需要对数据进行排序。这可以通过使用内置排序函数完成。但是,在本文中,我们将学习如何使用Javascript编写自己的代码来按升序和降序对对象数组进行排序。

步骤

以下是实现此操作的步骤:

  1. 创建示例数组 我们将创建一个示例数组。此数组将包含一些对象,每个对象都有一个“名称”和“年龄”属性。以下是示例数组的代码:
var people = [
  { Name: "John Doe", Age: 32 },
  { Name: "Jane Doe", Age: 24 },
  { Name: "Bob Smith", Age: 45 },
  { Name: "Jenny Johnson", Age: 18 }
];
  1. 创建一个函数来排序数组 我们将编写一个名为“sortBy”的函数来按名称或年龄属性对数组进行排序。该函数将采用两个参数,即要排序的属性和排序顺序。以下是该函数的代码:
function sortBy(property, isAscending) {
  var sortOrder = isAscending ? 1 : -1;
  people.sort(function(a, b){
    var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0;
    return result * sortOrder;
  });
}
  1. 调用函数 现在,我们可以使用上述函数来按名称或年龄属性对数组进行排序。以下是示例代码:
var ascending = true;
sortBy("Name", ascending);
console.log(people);

ascending = false;
sortBy("Age", ascending);
console.log(people);

如果您在单击事件中调用此函数,则可以使用布尔变量轻松地切换两个排序顺序。

结论

现在您已经知道如何按升序和降序对Javascript对象数组进行排序。使用上述方法,您可以轻松地根据需要对任何数组进行排序。