通过从 javascript 排序功能切换
myArray.sort(function (a, b) {
return a.name.localeCompare(b.name);
});
到
myArray.sort(function (a, b) {
return (a.name < b.name ? -1 : (a.name > b.name ? 1 : 0));
});
我能够将 Chrome 中大约 1700 个元素数组的排序时间从 1993 毫秒缩短到 5 毫秒。几乎是 400 倍的加速。不幸的是,这是以正确排序非英语字符串为代价的。
显然,当我尝试进行排序时,我的 UI 无法阻塞 2 秒钟。我能做些什么来避免极其缓慢的 localeCompare 但仍然保持对本地化字符串的支持?