Блог

JavaScript: Сортировка: масив – объектов

Пригодятся для сортировки массив объектов. Допустим, у нас есть массив объектов с двумя свойствами: «Название» и «ID». Скажем, мы хотим сортировать объекты по названию или ID.

Это способ, которым мы можем отсортировать эти объекты:

var sortArr = [];
var curSort = 'name';
for (var i = 0; i < 15; i++) {
    var setNum = Math.floor(Math.random()*max);
    sortArr[i] = {
        'name': 'Test ' + setNum,
        'id': setNum
    };
}

sortArr.sort(function(a, b) {
    var a = a[curSort];
    var b = b[curSort];

    var reg = /^-{0,1}\d*\.{0,1}\d+$/;
    if (reg.test(a)) 
        return (a - b);

    return (a < b) ? -1 : 1;
});