简介
在本实验中,我们将学习如何使用 JavaScript 根据给定属性按字母顺序对对象数组进行排序。我们将使用 Array.prototype.sort()
方法和 String.prototype.localeCompare()
方法来比较给定属性的值。这将使我们能够根据需求轻松地按升序或降序对数组进行排序。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本实验中,我们将学习如何使用 JavaScript 根据给定属性按字母顺序对对象数组进行排序。我们将使用 Array.prototype.sort()
方法和 String.prototype.localeCompare()
方法来比较给定属性的值。这将使我们能够根据需求轻松地按升序或降序对数组进行排序。
要在 JavaScript 中根据给定属性按字母顺序对对象数组进行排序,请执行以下步骤:
node
以开始练习编码。Array.prototype.sort()
根据给定属性对数组进行排序。String.prototype.localeCompare()
比较给定属性的值。以下是一个你可以使用的示例代码片段:
const alphabetical = (arr, getter, order = "asc") =>
arr.sort(
order === "desc"
? (a, b) => getter(b).localeCompare(getter(a))
: (a, b) => getter(a).localeCompare(getter(b))
);
你可以使用对象数组和返回要排序属性的 getter 函数来调用 alphabetical
函数。以下是一个示例用法:
const people = [{ name: "John" }, { name: "Adam" }, { name: "Mary" }];
alphabetical(people, (g) => g.name);
// [ { name: 'Adam' }, { name: 'John' }, { name: 'Mary' } ]
alphabetical(people, (g) => g.name, "desc");
// [ { name: 'Mary' }, { name: 'John' }, { name: 'Adam' } ]
恭喜你!你已经完成了按字母顺序排序数组的实验。你可以在 LabEx 中练习更多实验来提升你的技能。