Array.sort()方法用於數組排序,可是最近遇到了個問題,就是字符串數組排序結果不正確。從網上查解決方案的過程當中,還發現數值之間排序也是有問題的。html
以前發現字符串的localCompare()方法仍是挺靠譜的,至少日期類字符串排序以前用着仍是很靠譜的,今天發現這個方法也不行。最終的解決方案是:數組
const sortData = (data) => { let tempData = []; for(let i = 0, l = data.length;i<l;i++){ tempData.push({ index : i, value : data[i] }) } tempData.sort(function(x,y){ return x.value.toString().localeCompare(y.value.toString()) || x.index - y.index; }); return tempData;};參考連接:https://www.cnblogs.com/yzeng/p/3949182.html