Javascript 如何使Lodash sortBy()按降序排序数据?
Lodash中的sortBy()没有按降序排序,当我传递'desc'时,当调用函数作为Javascript 如何使Lodash sortBy()按降序排序数据?,javascript,vue.js,sorting,lodash,Javascript,Vue.js,Sorting,Lodash,Lodash中的sortBy()没有按降序排序,当我传递'desc'时,当调用函数作为const sortedData=uu.sortBy(data,['rawAvgPrice'],['desc'])。这适用于升序。但不是按降序排列。我已经发布了我编写的排序功能。我读了帖子“”,但它对我的问题没有帮助。所以决定把这个贴出来 /** * @param {String} element - sorting object element name. * @param {St
const sortedData=uu.sortBy(data,['rawAvgPrice'],['desc'])代码>。这适用于升序。但不是按降序排列。我已经发布了我编写的排序功能。我读了帖子“”,但它对我的问题没有帮助。所以决定把这个贴出来
/**
* @param {String} element - sorting object element name.
* @param {String} dir - the direction of the sort ASC/DESC.
* @param {Boolean} flag - Signaling to sort the table and update.
*/
sortTableNew(element, dir, flag) {
let direction = dir;
// Change the sorting from ASC to DESC/ DESC to ASC
if (flag) {
direction = dir === 'asc' ? 'desc' : 'asc';
}
// Getting the current open tabs details
const { activeTab } = this.$props.state.keywordSearch;
const { data } = this.$props.state.keywordSearch.tabs[activeTab];
const sortedData = _.sortBy(data, [element], [direction]);
// Updating the cache to dispatch data to the table
cachedHelper.updateCacheKeyword(cachedHelper.SCREEN_TYPE.keywordSearch, activeTab, sortedData);
cachedHelper.updateCacheSortType(cachedHelper.SCREEN_TYPE.keywordSearch, activeTab, direction, column);
},
从中,我们在搜索\时会发现这一点。sortBy
:“创建一个元素数组,按照通过每个迭代对象运行集合中每个元素的结果按升序排序。”
从中我们可以看到,。将始终以升序返回排序数组
您可以尝试使用以下方法:
\ orderBy(用户,'age','desc')代码>您可以尝试使用Lodash的orderBy方法。这对我来说很有魅力
var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 34 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'barney', 'age': 36 }
];
// Sort by `user` in ascending order and by `age` in descending order.
_.orderBy(users, ['user', 'age'], ['asc', 'desc']);
// => objects for [['barney', 36], ['barney', 34], ['fred', 48],
你可以在这里查看官方文档作为排序升序后的替代快速解决方案,只需执行array.reverse()@SteveTomlin,即使我看到过这种生活黑客。但我一直在寻找合法/适当的解决方案。这同样有效。另外,当我这样做时,它会将数组移动到不存在该元素的位置。