javascript中数组排序Array.sort坑爹的问题

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
相关文章
相关标签/搜索