如何使用javascript对字符串数字进行排序

时间:2016-09-28 06:06:54

标签: javascript angularjs sorting

这是我的数据["2","1","10"]。当我尝试对这些数字进行排序时,我的输出为["1","10","2"],但我的预期输出为["1","2","10]。我正在使用orderBy对这些数字进行排序。它的排序仅取决于0到9。

如何使用js对这些数字进行排序?

这是我的代码:

ng-options="option.id as option.roomno for option in frData 
          | unique:'roomno' | orderBy:'roomno' "

2 个答案:

答案 0 :(得分:0)

function sortNumStr(m,n) {
    return m - n;
}

var numArray = ["2", "1", "10"];
numArray.sort(sortNumStr);
alert(numArray)

答案 1 :(得分:0)

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

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

它也适用于其他字符中的数字。