Underscore.js _.comparator() 方法
_.comparator()方法接受一个类似于二元谓词的函数并返回一个比较器函数,该函数可用作 _.sort() 方法等的回调。
句法:
_.comparator( function );
参数:
- 函数:一个类似于函数定义的谓词。
返回值:此方法返回一个比较器函数。
注意:这在普通 JavaScript 中不起作用,因为它需要安装 underscore.js contrib 库。
underscore.js contrib 库可以使用npm install underscore-contrib –save 安装。
示例 1:使用比较器函数进行排序。
// 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)
输出:
Sorted Array : [ 1, 2, 4, 8, 9 ]
示例 2:使用比较器函数进行反向排序。
// 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)
输出:
Sorted Array : [ 9, 8, 4, 2, 1 ]