sort

сортирует DataStore

void sort(string|object by, [string dir,string as] );
bystring|objectназвание поля, по которому будут отсортированы данные
dirstringнаправление сортировки, по умолчанию "asc" (по возрастанию)
asstringтип данных, по умолчанию "string"

Example

data.sort("price", "asc");

Related samples

Details

Примеры использования

Метод sort можно использовать с различным количеством параметров.

Наиболее распространенный случай использования метода sort - сортировка данных по полю. Имя поля передается первым параметром:

//sorts by the name value; ascending; sorts values as strings
data.sort("#name#","asc","string");
//sorts by the price value; descending; sorts values as numbers
data.sort("#price#","desc","int");

Название свойства должно быть обёрнуто в хэши (#)

Вы также можете использовать свою функцию для сортировки (например, при сортировке данных с вложенными объектами или массивами). The parameters of this function are the following:

  • a (object) - the first data item
  • b (object) - the second data item
  • prop(string) - the name of the field that you want to sort by.
function sort_by_length(data1, data2, prop){
    return data1[prop].length > data2[prop].length ? 1 : -1;
}
 
data.sort("#name#", "asc", sort_by_length);

Функция должна возвращать следующие значения: 0, 1, или -1.

  • 1 обозначает, что первый объект больше второго;
  • -1 обозначает, что первый объект меньше второго;
  • 0 обозначает, что два объекта равны между собой.

Если вам нужен доступ к нескольким свойствам объекта или вам нужна более сложная сортировка, передайте функцию сортировки первым параметром:

function my_sorting(a,b){
    //a, b - объекты элементов данных
    return a.Version > b.Version ? 1 : -1;
}
data.sort(my_sorting, "desc"); // Третий параметр не будет учтён

Альтернативный синтаксис

Вы можете передать объект с настройками для сортировки первым параметром методу sort:

data.sort({
    as:"string",
    dir:"desc",
    by:"package"
});

Направления сортировки

Второй параметр метода sort указывает направление сортировки и содержит одно из двух значений:

  • "asc" - для сортировки по возрастанию
  • "desc" - для сортировки по убыванию

Типы сортировки

Третий параметр метода sort может быть задан строкой с именем типа сортировки:

  • "int" - сравнивает как числа;
  • "date" - сравнивает как даты;
  • "string" - сравнивает как строки;
  • "string_strict" - то же что и "string", но с учётом регистра;
  • "string_locale" - compares string values based on the locale;
  • "string_locale_strict" - case-sensitive "string_locale";
  • "text_locale" - compares visible item text based on the locale (including template), datatable only;
  • "text" - сравнивает видимые элементы текста и темплейты, если они заданы;
  • "server" - отправляет запрос на сервер (используется при серверной сортировке);
  • "raw" - стандартная сортировка для простого сравнения (a > b, a < b);

Вы также можете задать свой тип сортировки.

See also
Наверх