我希望在javascript中比较两个字符串。我正在使用localeCompare方法,但是输出与预期不符
116457 < 3085
false
"116457" < "3085"
true
"116457".localeCompare("3085")
-1
第二和第三种情况下的输出不符合预期。
我知道它按字典顺序排序,但是我仍然很难理解为什么会这样,以及我该如何克服它。
任何帮助,将不胜感激。
最佳答案
如果要比较它们而不将其转换为数字,则可以在 numeric: true
参数中设置 options
console.log(
"116457".localeCompare("3085", undefined, { numeric: true })
)
console.log(
"116457".localeCompare("3085")
)
关于javascript - Javascript比较数字作为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56988641/