使用javascript在对象数组中排序字母数字值?
我从数据库中得到一个字符串,一个对象数组字段,它包含如下值:使用javascript在对象数组中排序字母数字值?,javascript,arrays,sorting,cordova-2.7.0,Javascript,Arrays,Sorting,Cordova 2.7.0,我从数据库中得到一个字符串,一个对象数组字段,它包含如下值:dataarray=[{name:'xyz',id:'},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:'},{name:'abc',id:'DOC TEMP-21'},{name:'abc',id:'jklm',id:'DOC TEMP-2'} 我想根据id对该数组进行排序,因此我尝试使用如下排序方法: dataarray.sort(function(a,b){
dataarray=[{name:'xyz',id:'},{name:'abc',id:'DOC-TEMP-1'},{name:'efg',id:'},{name:'abc',id:'DOC TEMP-21'},{name:'abc',id:'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
我该怎么做呢?只是一个小错误,您使用的是“==”而不是“=”来在条件中赋值