【问题标题】:lodash orderBy multiple numeric fields display prioritylodash orderBy 多个数值字段显示优先级
【发布时间】:2021-12-27 18:04:04
【问题描述】:

在对 HTML 表中的多个字段进行排序时,使用 orderBy 方法一切顺利。 Score A 字段将按降序排列,而 Score B 字段将按升序排列。假设我们有一张包含以下数据的表:

Name     Score A     Score B
 A          3
 B                      7
 C          8
 D          1
 E                      2

使用orderBy方法:

_.orderBy(scores, ['score_a', 'score_b'], ['desc', 'asc']);

显示将是:

Name     Score A     Score B
 E                      2
 B                      7
 C          8
 A          3
 D          1

但是,我想优先显示特定字段,并希望首先显示 Score A 字段而不是 Score B。所需的显示是:

Name     Score A     Score B
 C          8
 A          3
 D          1
 E                      2
 B                      7

如何做到这一点?还尝试了链接 lodash 方法。这是应该在显示器上调整的东西吗?需要你的真棒输入。谢谢。

【问题讨论】:

    标签: javascript html-table lodash


    【解决方案1】:

    交换 'a' 和 'b' 分数可能会解决问题

    var scores = [{
        'score': 'a',
        'a': 3,
        'b': 0
      },
      {
        'score': 'b',
        'a': 0,
        'b': 7
      },
      {
        'score': 'c',
        'a': 8,
        'b': 0
      },
      {
        'score': 'd',
        'a': 1,
        'b': 0
      },
      {
        'score': 'e',
        'a': 0,
        'b': 2
      }
    ];
    
    // Sort by `user` in ascending order and by `age` in descending order.
    console.log(_.orderBy(scores, ['b', 'a'], ['asc', 'desc']));
    <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>

    【讨论】:

    • 感谢您的回答!这是我尝试过的第一件事,但它仍然优先考虑数据的升序而不是降序。这与这个问题stackoverflow.com/questions/69990431/… 结合使用 Vue 和 lodash 相关。
    猜你喜欢
    • 2015-08-27
    • 2016-04-13
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多