2014-03-19 288 views
0

我從數據庫中獲取一個字符串的對象數組字段,其中包含一個值,如: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'}];使用javascript對對象數組中的字母數字值進行排序?

我想排序基於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]; 
      }); 

但它給了我uncorrect結果。

我想要的是它應該首先顯示空id,然後id按數字排序。

我該怎麼做?

回答

0

只是一個小錯誤,您正在使用'=='而不是'='來爲條件中的值賦值。

相關問題