首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使Lodash sortBy()对数据进行降序排序?

如何使Lodash sortBy()对数据进行降序排序?
EN

Stack Overflow用户
提问于 2021-06-03 22:09:26
回答 2查看 911关注 0票数 1

当我将函数作为const sortedData = _.sortBy(data, ['rawAvgPrice'], ['desc']);调用时,当我传递'desc‘时,Lodash中的sortBy()没有按降序排序。这可以很好地处理升序。但不是降序的。我已经发布了我写的排序功能。我读了"lodash multi-column sortBy descending“这个帖子,但它对我的问题没有帮助。因此决定张贴这篇文章。

代码语言:javascript
运行
复制
    /**
     * @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);
    },
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-03 22:33:27

lodash documentation中,我们在搜索_.sortBy时会发现:“创建一个元素数组,按照在每个迭代器中运行集合中每个元素的结果以升序排序。”

由此我们可以看到,_.sortBy总是以升序返回一个排序的数组。

您可以尝试像这样使用_.orderBy_.orderBy(users, 'age', 'desc');

票数 3
EN

Stack Overflow用户

发布于 2021-06-03 22:35:11

您可以尝试使用Lodash的orderBy方法。对我来说很有吸引力。

代码语言:javascript
运行
复制
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],

你可以在这里查看官方文档Lodash orderBy

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67823035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档