El método _.comparator() toma una función similar a un predicado binario y devuelve una función de comparación que se puede usar como devolución de llamada para el método _.sort(), etc.
Sintaxis:
_.comparator( function );
Parámetros:
- función: un predicado como función definida.
Valor devuelto: este método devuelve una función de comparación.
Nota: Esto no funcionará en JavaScript normal porque requiere que se instale la biblioteca de contribuciones underscore.js.
La biblioteca de contribución underscore.js se puede instalar mediante npm install underscore-contrib –save.
Ejemplo 1: Clasificación usando una función de comparación.
// Defining underscore contrib variable var _ = require('underscore-contrib'); var gfgFun = function(x, y) { // Returns -1, 0 or 1 return x <= y; }; // Array var arr = [4, 8, 2, 9, 1]; var comp = _.comparator(gfgFun); // Using comparator function with _.sort() method arr.sort(comp); console.log("Sorted Array :", arr)
Producción:
Sorted Array : [ 1, 2, 4, 8, 9 ]
Ejemplo 2: Clasificación inversa utilizando una función de comparación.
// Defining underscore contrib variable var _ = require('underscore-contrib'); var gfgFun = function(x, y) { // Returns -1, 0 or 1 return x >= y; }; // Array var arr = [4, 8, 2, 9, 1]; var comp = _.comparator(gfgFun); // Using comparator function with _.sort() method arr.sort(comp); console.log("Sorted Array :", arr)
Producción:
Sorted Array : [ 9, 8, 4, 2, 1 ]