2017-04-24 87 views
2

我有一個看起來像這樣的數組對象數組:排序與具有數字和字符

serials = [ serial : 8H51495999, material : 17, status: 01 
       serial : 8H51495143, material : 17, status: 01 
       serial : 8Z51495143, material : 17, status: 01 ] 

我需要通過串口進行排序,所以爲了將

   serial : 8H51495143, material : 17, status: 01 
       serial : 8H51495999, material : 17, status: 01 
       serial : 8Z51495143, material : 17, status: 01 

我怎樣才能實現那? 謝謝 添

回答

1

假設,你有對象的數組和值是字符串,那麼你可以進行排序回調使用與Array#sort

var serials = [{ serial : '8H51495999', material : '17', status: '01' }, { serial : '8H51495143', material : '17', status: '01' }, { serial : '8Z51495143', material : '17', status: '01' }]; 
 

 
serials.sort(function (a, b) { 
 
    return a.serial.localeCompare(b.serial); 
 
}); 
 

 
console.log(serials);

+0

是的,謝謝你快速幫助! – Tim

2

讓我們嘗試Array.prototype.sort()在JS

serials.sort(function(a, b) { 
     if (a.serial < b.serial) { 
     return -1; 
     } 
     if (a.serial > b.) { 
     return 1; 
     } 
     // a must be equal to b 
     return 0; 
    });