Comparator¶
Функция сравнения элементов коллекции.
Syntax¶
function(a, b)
Parameters¶
Name | Type | Description |
---|---|---|
a |
* | Элемент коллекции. |
b |
* | Элемент коллекции. |
Returns¶
Возвращает целое число:
-1
(или число меньше0
), еслиa
меньшеb
;1
(или число больше0
), еслиa
большеb
;0
, еслиa
равноb
.
Examples¶
Общая форма функции сравнения:
function comparator(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
Пример функции сравнения целых чисел:
function comparator(a, b) {
if (a < b) return -1;
if (a > b) return 1;
return 0;
}
Пример использования при сортировке:
var items = [
{ key: 3, value: 'C' },
{ key: 2, value: 'B' },
{ key: 1, value: 'A' }
];
var comparator = function(a, b) {
if (a.key < b.key) return -1;
if (a.key > b.key) return 1;
return 0;
};
var collection = new Collection(items, 'key', comparator);
collection.forEach(function(item) {
console.log(item.value);
});
// Output:
// C
// B
// A
collection.sort();
collection.forEach(function(item) {
console.log(item.value);
});
// Output:
// A
// B
// C