【发布时间】:2023-03-26 18:09:02
【问题描述】:
我正在从数据库中获取一个字符串,一个对象字段数组,其中包含如下值: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,然后按数字排序。
我该怎么做?
【问题讨论】:
标签: javascript arrays sorting cordova-2.7.0