如何使用javascript排序字符串数字

How to Sort String numbers using javascript

本文关键字:字符串 数字 排序 javascript 何使用      更新时间:2023-09-26

这是我的数据["2","1","10"]。当我试图对这些数字排序时,我的输出是["1","10","2"],但我的期望输出是["1","2","10]。我用order来对这些数字排序。它只根据0到9排序。

我如何使用js排序这些数字?

下面是我的代码:
ng-options="option.id as option.roomno for option in frData 
          | unique:'roomno' | orderBy:'roomno' "
function sortNumStr(m,n) {
    return m - n;
}
var numArray = ["2", "1", "10"];
numArray.sort(sortNumStr);
alert(numArray)

您可以像这样使用字符串的原生原型localeCompare函数:

["2","1","10"].sort((a,b) => a.localeCompare(b, undefined, { numeric: true }))

它可以很好地处理数字和其他字符