Добрый день!
На stackoverflow нашёл
пример функции, которая передаётся в .sort():
var sort_by = function(field, reverse, primer){
var key = primer ? function (x) { return primer(x[field]); } : function (x) { return x[field]; };
return function (a,b) {
var A = key(a), B = key(b);
return ((A < B) ? -1 : (A > B) ? +1 : 0) * [-1,1][+!!reverse];
};
};
Применение:
// Sort by price high to low
homes.sort(sort_by('price', true, parseInt));
// Sort by city, case-insensitive, A-Z
homes.sort(sort_by('city', false, function(a){return a.toUpperCase()}));
Помогите, пожалуйста, понять, что означает вот это выражение:
* [-1,1][+!!reverse];
Спасибо!