排序
Coddy JavaScript 数组方法 课程的第 14 课,共 18 课。
sort() 方法是数组的内置函数,可以帮助你按特定顺序整理元素。默认情况下,它会按字母顺序对字符串排序,或按数值大小对数字排序。不过,你也可以使用回调函数自定义排序行为,定义自己的排序规则。
默认排序:假设你有一个电影标题(字符串)列表,并且想按字母顺序对它们排序(默认排序):
const movieTitles = ["The Shawshank Redemption", "The Godfather", "The Dark Knight", "Pulp Fiction"];
movieTitles.sort(); // 原地排序
console.log(movieTitles); // 输出:["The Dark Knight", "The Godfather", "Pulp Fiction", "The Shawshank Redemption"]- 在上面的示例中,我们对
movieTitles调用了sort()。 - 默认情况下,它会根据 Unicode 字符编码按字母顺序对元素排序。
console.log()会显示movieTitles数组,此时数组中的元素已按字母顺序排列。
自定义数字排序:假设你有一个产品评分(数字)数组,并且想按从高到低的顺序对它们排序:
const ratings = [4.5, 3.8, 5.0, 4.2];
ratings.sort((a, b) => b - a); // 用于降序排序的自定义比较函数
console.log(ratings); // 输出:[5.0, 4.5, 4.2, 3.8]- 在上面的示例中,我们对
ratings调用了sort()。 - 我们提供了一个自定义比较函数(
(a, b) => b - a),用第二个元素(b)减去第一个元素(a)。 - 如果结果为正数(b 大于 a),就会交换元素(按降序排列)。
挑战
简单你在市场上,有一个包含各种商品价格(数字)的列表,这些商品是你想买的,价格存储在 marketPrices 数组中。
你的任务是编写 JavaScript 代码,按价格从低到高排序,并输出更新后的数组。
亲手试试
const marketPrices = [10, 5, 20, 12, 8];
// 在这里编写代码JavaScript 数组方法中的所有课
自己练习: JavaScript 在线编译器