vue对List列表中某个或多个字段降序排序

computed: {
  sortedArticles() {
    return this.articleTop.slice().sort((a, b) => {
      // 将字符串转换为整数
      const numLikeA = parseInt(a.numlike, 10);
      const numLikeB = parseInt(b.numlike, 10);

      // 首先根据 numlike 降序排序
      if (numLikeB < numLikeA) {
        return -1; // 返回负数a在b之前
      } else if (numLikeA < numLikeB) {
        return 1; 
      } else {
        // 如果 numlike 相同,则比较 numwatch,也应该是降序
        const numWatchA = parseInt(a.numwatch, 10);
        const numWatchB = parseInt(b.numwatch, 10);
        return numWatchB - numWatchA; // 如果 b 的 numwatch 大,返回 -1 (b 在前)
      }
    });
  }
},
  method:{
    fetchArticleTop() {
      this.$request.get('/article/articleTop', {
      }).then(response => {
        if (response.code === '200' && response.data) {
          this.articleTop = response.data; // 先更新articleTop
        } else {
          console.error('Failed to fetch articletop:', response.message);
        }
      });
    },
  }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue ,你可以使用 `Array.prototype.sort()` 方法对数组进行排序。假设你有一个包含多个对象的数组 `items`,每个对象都有一个 `sortOrder` 属性表示排序顺序。你可以按照以下步骤进行排序: 1. 在组件的 `data` 定义一个 `sortKey` 属性表示当前排序的关键字。 2. 定义一个 `sortItems` 计算属性,根据 `sortKey` 对 `items` 数组进行排序。 3. 在页面渲染排序的表头,并绑定点击事件来更新 `sortKey`。 下面是一个示例代码: ```html <template> <div> <table> <thead> <tr> <th @click="sortKey = 'name'">Name</th> <th @click="sortKey = 'age'">Age</th> <th @click="sortKey = 'sortOrder'">Sort Order</th> </tr> </thead> <tbody> <tr v-for="item in sortItems" :key="item.id"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.sortOrder }}</td> </tr> </tbody> </table> </div> </template> <script> export default { data() { return { items: [ { id: 1, name: 'John', age: 25, sortOrder: 2 }, { id: 2, name: 'Mary', age: 30, sortOrder: 1 }, { id: 3, name: 'Bob', age: 20, sortOrder: 3 } ], sortKey: 'name' }; }, computed: { sortItems() { const key = this.sortKey; return this.items.sort((a, b) => { return a[key] > b[key] ? 1 : a[key] < b[key] ? -1 : 0; }); } } }; </script> ``` 在这个示例,我们在表头绑定了三个点击事件来更新 `sortKey`,然后使用 `sortItems` 计算属性对数组进行排序并渲染到页面。注意,我们使用了比较运算符 `>` 和 `<` 来比较两个对象的排序属性,这里假设这些属性都是基本数据类型(如字符串或数字)。如果你需要比较复杂的数据类型,可以使用更高级的排序算法或自定义比较函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值