我从数据库中获取一个字符串,一个对象字段数组,其中包含如下值:dataarray=[{name:'xyz',id:' '},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:''},{name:'abc',id:'DOC-TEMP-21'},{name:'abc',id:''},{name:'jklm',id:'DOC-TEMP-2'}];
。
我想根据 id 对这个数组进行排序,所以我尝试使用如下排序方法进行排序:
dataarray.sort(function(a,b){
var a1 = a['id'].split('-');
var b1 = b['id'].split('-');
console.log('value in a1: '+a1);
console.log('value in b1: '+b1);
if(a1[2] =='' || a1[2]==null)
{
a1[2] == 0;
}if(b1[2]=='' || b1[2]==null)
{
b1[2] == 0;
}
return a1[2]-b1[2];
});
但它给了我不正确的结果。
我想要的是它应该首先显示空 id,然后按数字排序 id。
我怎样才能做到这一点 ?