grid排序,用js localcompare正序排出的结果是:
阿
我
a
w
而数据库排出的正序结果是:
a
w
阿
我如果用后台排序,但由于没采用分页,而且允许用户能清除(只是在grid里清除而不是数据库删除)某些用户不想要的数据,只能用主键ID查询,可能会有几万条。所以不能把这些数据的ID都传给后台排序。如果几十条,几十条地传给后台,后台也是几十条、几十条传回排序结果,整体排序还是不能实现。求思路,谢谢!
阿
我
a
w
而数据库排出的正序结果是:
a
w
阿
我如果用后台排序,但由于没采用分页,而且允许用户能清除(只是在grid里清除而不是数据库删除)某些用户不想要的数据,只能用主键ID查询,可能会有几万条。所以不能把这些数据的ID都传给后台排序。如果几十条,几十条地传给后台,后台也是几十条、几十条传回排序结果,整体排序还是不能实现。求思路,谢谢!
var arr = ['我', '阿', 'a', 'w'];
var reg = /^[\u4e00-\u9fa5]/;
arr.sort((a, b) => {
if(+reg.test(a) ^ +reg.test(b)){
return reg.test(a) ? 1 : -1;
}else{
return a.localeCompare(b)
}
});
console.log(arr)