/**
* 对数字数组按其数值大小进行排序,确保数组不会原地修改。
*
* 这是必要的,因为 JavaScript 中 .sort 的默认行为是将数组作为字符串值进行排序
*
* [1, 10, 12, 102, 20].sort()
* // 输出
* [1, 10, 102, 12, 20]
*
* @param {Array<number>} x 输入数组
* @return {Array<number>} 排序后的数组
* @private
* @example
* numericSort([3, 2, 1]) // => [1, 2, 3]
*/
function numericSort(x) {
return (
x
// 确保数组不会原地修改
.slice()
// 比较函数,将输入视为数值
.sort(function (a, b) {
return a - b;
})
);
}
export default numericSort;