Underscore.js是JavaScript语言的一个实用库,提供了许多函数来简化编程操作,其中包括_.sortBy函数。下面是关于_.sortBy函数的完整攻略:
一、函数介绍
_.sortBy函数用于根据指定规则将集合中的元素进行排序,返回新的已排序的集合。
函数语法:
_.sortBy(list, iteratee, [context])
参数说明:
- list(Array/Object):要排序的集合(数组或对象);
- iteratee(Function/String):排序的规则,可以是一个函数,也可以是一个返回要排序的属性值的字符串;
- context(Object):迭代函数iteratee中的this指向的对象(可选)。
返回值:已经排序后的集合。
二、使用方法
1. 排序数组
以下代码示例是对一个数组进行排序:
var arr = [3, 6, 1, 2, 8];
var sortedArr = _.sortBy(arr);
console.log(sortedArr); // [1, 2, 3, 6, 8]
以上代码中,未传递iteratee参数,Underscore.js默认按照升序进行排序。
2. 排序对象数组
以下代码示例是对一个对象数组进行排序:
var arr = [
{name: 'tom', score: 80},
{name: 'jerry', score: 60},
{name: 'john', score: 70},
{name: 'jim', score: 90},
];
var sortedArr = _.sortBy(arr, function(obj) {
return obj.score; // 按照对象的score属性升序排序
});
console.log(sortedArr);
/*
[
{name: 'jerry', score: 60},
{name: 'john', score: 70},
{name: 'tom', score: 80},
{name: 'jim', score: 90}
]
*/
以上代码中,将iteratee参数传入一个匿名函数,返回对象的score属性,从而实现以score属性升序排序的功能。
三、代码块使用方法
可以使用三个反引号(`)包含多行代码,在前面添加语言名称,即可实现代码块功能,例如:
var arr = [
{name: 'tom', score: 80},
{name: 'jerry', score: 60},
{name: 'john', score: 70},
{name: 'jim', score: 90},
];
var sortedArr = _.sortBy(arr, function(obj) {
return obj.score; // 按照对象的score属性升序排序
});
console.log(sortedArr);
/*
[
{name: 'jerry', score: 60},
{name: 'john', score: 70},
{name: 'tom', score: 80},
{name: 'jim', score: 90}
]
*/
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Underscore.js _.sortBy函数 - Python技术站