使用具有数字和字符的对象对数组进行排序

时间:2017-04-24 06:34:09

标签: javascript sorting

我有一个看起来像这样的数组:

  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

我怎样才能实现这一目标? 谢谢, 添

2 个答案:

答案 0 :(得分:2)

让我们在JS中尝试Array.prototype.sort()

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;
    });

答案 1 :(得分:1)

假设您有一个对象数组且值是字符串,那么您可以使用String#localeCompareArray#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);