我希望比较JavaScript中的两个字符串。我正在使用localeCompare方法,但输出与预期不符
<input id="Ju6wJZPEnc" aria-invalid="false" placeholder="ENTER_PICKUP_ADDRESS" class="MuiInput-input-32 controls" type="text" name="rRxgEiRXru" onkeypress="return event.keyCode !== 13;" autocomplete="8J%A*yG9eb!F[NLEqv8Q">
第二和第三种情况下的输出与预期的不同。
我知道它按字典顺序排序,但是我仍然很难理解为什么会这样,以及我该如何克服它。
任何帮助将不胜感激。
答案 0 :(得分:4)
如果要比较它们而不将其转换为数字,可以在numeric: true
参数中设置options
console.log(
"116457".localeCompare("3085", undefined, { numeric: true })
)
console.log(
"116457".localeCompare("3085")
)
答案 1 :(得分:3)
如果116457是一个单词,那么字典中的单词会在3085之前出现。
考虑使用字典