JavaScript 如何对集合进行排序
在本文中,我们将学习如何对集合中的项目进行排序。用于此目的的方法是sort()。集合接受包含数字、字符串或对象的数组作为输入。
语法:
collect(array).sort()
参数: 它接受一个数组作为参数,将其转换为一个集合,然后根据其元素的值对其进行排序。
我们可以使用Collect.js的方法以两种方式对集合进行排序,下面都提到和描述了这两种方法:
- Collect.js all() 方法
- Collect.js sortByDesc() 方法
Collect.js all() 方法
all() 方法返回由集合表示的所有元素的基础数组。JavaScript 数组首先被转换为一个集合,然后函数被应用于该集合。
语法:
sorted_collection.all()
示例1: :这里使用collect = require('collect.js')
来导入collect.js库到文件中。
JavaScript
const collect = require('collect.js');
const arr = [8, 2, 14, 26, 21, 17, 19]
const collection = collect(arr);
const sorted = collection.sort();
console.log(sorted.all());
输出:
[2, 8, 14, 17, 19, 21, 26]
示例2: 我们还可以使用一些算法按降序对集合进行排序。我们可以为此传递一个回调函数。
Javascript
const collect = require('collect.js');
const arr = [8, 2, 14, 26, 21, 17, 19]
const collection = collect(arr);
const descending_sort = collection.sort((a, b) => b - a);
console.log(descending_sort.all());
输出:
[26, 21, 19, 17, 14, 8, 2]
JavaScript sortByDesc() 方法
如果元素是对象,我们可以使用 sortByDesc() 方法通过参数键来对元素集合进行降序排列。
语法:
collect(array).sortByDesc(key)
参数:
- array: 它接受一个数组作为输入,将被转换为一个集合
- key: 这是一个参数,根据它对元素进行降序排序
示例1:
Javascript
const collect = require('collect.js');
const arr = ['Science', 'Welcome',
'Computer', 'GeeksforGeeks']
const collection = collect(arr);
const descending_sort = collection.sortByDesc();
console.log(descending_sort);
输出:
Collection { items: [ 'Welcome', 'Science', 'GeeksforGeeks', 'Computer' ] }
示例2: 我们还可以传递一个对象数组,并使用对象的属性作为键来排序集合的元素。
Javascript
const collect = require('collect.js');
let Employee = [
{
name: 'Shyam',
id: 21
},
{
name: 'Aditya',
id: 48
},
{
name: 'Chris',
id: 12
}
];
const collection = collect(Employee);
const sort_id = collection.sortByDesc('id')
console.log(sort_id);
输出:
Collection {
items: [
{ name: 'Aditya', id: 48 },
{ name: 'Shyam', id: 21 },
{ name: 'Chris', id: 12 }
]
}