JavaScript 数组排序的重点在于理解其默认排序行为以及如何自定义排序顺序。
默认情况下,JavaScript 使用字符串 Unicode 码位值进行排序。这意味着数组元素会按照它们转换为字符串后的码位值从小到大排序。例如,数字数组 [10, 5, 8, 1, 7] 会被排序为 [1, 5, 7, 8, 10]。
如果需要按照自定义顺序排序,可以使用数组的 sort()
方法并提供一个比较函数作为参数。比较函数应该接受两个参数并返回一个负数、零或正数,以指示第一个参数应该被放置在第二个参数的前面、两者排序无关紧要或放置在第二个参数的后面。
例如,以下代码将数字数组按照升序排序:
const numbers = [10, 5, 8, 1, 7]; numbers.sort((a, b) => a - b); console.log(numbers); // 输出 [1, 5, 7, 8, 10]
在这个例子中,比较函数 (a, b) => a - b
返回第一个参数和第二个参数的差值。如果返回值为负数,则第一个参数会被放置在第二个参数的前面;如果返回值为正数,则第一个参数会被放置在第二个参数的后面;如果返回值为零,则两者排序无关紧要。
总之,JavaScript 数组排序的重点在于理解默认排序行为以及如何自定义排序顺序,并且需要掌握比较函数的编写和使用。