Menu
CoddyTech

排序

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),就会交换元素(按降序排列)。
     
challenge icon

挑战

简单

你在市场上,有一个包含各种商品价格(数字)的列表,这些商品是你想买的,价格存储在 marketPrices 数组中。

你的任务是编写 JavaScript 代码,按价格从低到高排序,并输出更新后的数组。

亲手试试

const marketPrices = [10, 5, 20, 12, 8];

// 在这里编写代码

JavaScript 数组方法中的所有课

自己练习: JavaScript 在线编译器