JavaScript 中的 sort()
方法用于对数组的元素进行排序。默认情况下,它会将数组中的元素转换为字符串,然后按照 Unicode 码点的顺序进行排序。然而,sort()
方法也允许你提供一个自定义的比较函数,以便更精确地控制排序行为。
sort()
方法会将数组元素转换为字符串,并按照 Unicode 码点进行排序。a
和 b
),并返回一个数值:a
排在 b
前面。a
和 b
的相对位置不变。a
排在 b
后面。let arr = [10, 2, 5, 1, 9];
arr.sort();
console.log(arr); // 输出可能是 [1, 10, 2, 5, 9] 注意:数字排序可能不符合预期
let arr = [10, 2, 5, 1, 9];
arr.sort((a, b) => a - b);
console.log(arr); // 输出 [1, 2, 5, 9, 10]
let arr = ['apple', 'banana', 'cherry', 'date'];
arr.sort((a, b) => a.length - b.length);
console.log(arr); // 输出 ['date', 'apple', 'banana', 'cherry']
sort()
将数字转换为字符串进行比较,导致不正确的排序结果。(a, b) => a - b
进行数字升序排序。sort()
方法可能是不稳定的,即相同值的元素相对位置可能改变。_.sortBy
)或实现自己的稳定排序算法。sort()
方法的性能可能成为瓶颈。通过理解这些基础概念和常见问题,你可以更有效地使用 sort()
方法来满足各种排序需求。
领取专属 10元无门槛券
手把手带您无忧上云