localeCompare()应返回(-1,0或1),但是,以下代码返回' 1'在我的PC浏览器Chrome 53(正如预期的那样),但是' -8'在我的手机浏览器三星互联网for Android 4.0,这应该是一个现代的brwoser!
var b = "aZ";
var a= "ab"
var res = b.localeCompare(a);
document.getElementById('alert').innerHTML =res;

<label id="alert">Ret</label>
&#13;
也小提琴: https://jsfiddle.net/4a3rwem1/5/
用于比较JS中的字符串的任何替代(可能更全面)的解决方案?
答案 0 :(得分:0)
您可以使用更小或更大的符号来比较字符串,例如MDN建议
+(a > b) || +(a === b) - 1
var a = "ab",
b = "aZ",
aa = a.toLowerCase(),
bb = b.toLowerCase(),
res = +(a > b) || +(a === b) - 1;
console.log(res);
&#13;