要对数组使用lodash
进行排序,可以使用orderBy
函数或sortBy
函数。
orderBy
函数:可以按照指定的属性或多个属性进行排序。你可以通过指定属性名称和排序顺序来对数组进行排序。
下面是使用orderBy
函数的示例:
const _ = require('lodash');
const arr = [5, 1, 3, 2, 4];
const sortedArr = _.orderBy(arr);
console.log(sortedArr); // 输出: [1, 2, 3, 4, 5]
在上面的示例中,_.orderBy(arr)
对数组arr进行升序排序。
如果你想要按照多个属性进行排序,可以传递一个数组给orderBy
函数。数组中的每个元素都是要排序的属性名称。
下面是按照多个属性排序的示例:
const _ = require('lodash');
const arr = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
{ name: 'Bob', age: 35 }
];
const sortedArr = _.orderBy(arr, ['name', 'age'], ['asc', 'desc']);
console.log(sortedArr);
在上面的示例中,_.orderBy(arr, ['name', 'age'], ['asc', 'desc'])
根据name
属性按升序排序,对于具有相同name的元素,根据age属性按降序排序。
sortBy
函数:根据指定的属性或转换函数对数组进行排序。
下面是使用sortBy
函数的示例:
const _ = require('lodash');
const arr = [5, 1, 3, 2, 4];
const sortedArr = _.sortBy(arr);
console.log(sortedArr); // 输出: [1, 2, 3, 4, 5]
在上面的示例中,_.sortBy(arr)
对数组arr进行升序排序。
如果你想要根据对象的某个属性排序,可以传递一个函数给sortBy函数,这个函数会返回用于排序的属性值。
下面是按照对象属性排序的示例:
const _ = require('lodash');
const arr = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 },
{ name: 'Bob', age: 35 }
];
const sortedArr = _.sortBy(arr, 'age');
console.log(sortedArr);
在上面的示例中,_.sortBy(arr, 'age')
根据每个对象的age属性进行排序。