请问JS中字符串和英文混合通过sort排序代码为什么无效?

以下是排序部分代码:EntityList.sort(function(a,b){//利用数组的排序方法重新排序对象if(typeofa.Name=="string"&&t... 以下是排序部分代码:
EntityList.sort(function (a, b) { //利用数组的排序方法重新排序对象
if(typeof a.Name == "string" && typeof b.Name == "string"){return a.Name.localeCompare(b.Name);};
if(typeof a.Name == "number" && typeof b.Name == "string"){return -1;};
if(typeof a.Name == "string" && typeof b.Name == "number"){return 1;};
if(typeof a.Name == "number" && typeof b.Name == "number"){return b.Name - a.Name;}
});
当我使用
EntityList.sort(function (a, b) { //利用数组的排序方法重新排序对象
return b.Name - a.Name;

});
这个代码的时候对网页中的DIV按照数字排序是可以的,但是因为有字母中文和数字混合的,所以我写了以上代码,结果无效,请问是哪里错了
展开
 我来答
yugi111
2015-09-18 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部

真的是无效


"ss".localeCompare("asdd")


始终都是1

而且直接相减也有问题

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式