请问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按照数字排序是可以的,但是因为有字母中文和数字混合的,所以我写了以上代码,结果无效,请问是哪里错了 展开
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按照数字排序是可以的,但是因为有字母中文和数字混合的,所以我写了以上代码,结果无效,请问是哪里错了 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询