简介
在本实验中,我们将学习如何使用 JavaScript 根据给定属性按字母顺序对对象数组进行排序。我们将使用 Array.prototype.sort() 方法和 String.prototype.localeCompare() 方法来比较给定属性的值。这将使我们能够根据需求轻松地按升序或降序对数组进行排序。
在本实验中,我们将学习如何使用 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 中练习更多实验来提升你的技能。