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
Наверх
If you have not checked yet, be sure to visit site of our main product Webix ui widget library and page of javascript menu product.