排序方法返回值疑惑 求解惑!

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Title</title>
  </head>
  <body>
  <!--
    1. 列表过滤
    2. 列表排序
    -->
    <div id="demo">
      <input type="text" v-model="searchName">
      <ul>
        <!--
        遍历
        -->
        <li v-for="(p,index) in filterPersons" :key="index">
          {{index}}---{{p.name}}---{{p.age}}
        </li>
      </ul>
      <button @click="setOrderType(1)">年龄升序</button>
      <button @click="setOrderType(2)">年龄降序</button>
      <button @click="setOrderType(0)">原本顺序</button>
    </div>
  <script type="text/javascript" src="../js/vue.js"></script>
  <script type="text/javascript" src="../js/jquery-1.10.1.js"></script>
  <script type="text/javascript">
    const vm = new Vue({ //构建Vue实例对象vm (VM)
      el:'#demo', //选择器 Model层
      data:{  //View视图层
        persons:[
          {name:'Tom',age:19},
          {name:'Bob',age:14},
          {name:'Joe',age:16},
          {name:'Henry',age:18}
        ],
        //初始化搜索栏数据
        searchName:'',
        //初始化setOrderType的参数orderType 0为原本顺序 规定 1为升序 2为降序
        orderType: 0
      },
      computed:{ //计算属性
        filterPersons() {
          // console.log(this);
          const {persons,searchName,orderType} = this; //初始化数据
          let arr = [...persons];
          //实现列表过滤功能
          if (searchName.trim()) {
            arr = persons.filter(p => p.name.indexOf(searchName) !== -1);
          }
          //实现按键点击排序功能
          if (orderType) {
            //排序方法
            arr.sort(function (p1,p2) {
              if (orderType===1) {
                return p1.age - p2.age;
              }else {
                return p2.age - p1.age;
              }
            });
          }
          return arr; //返回数组arr
        }
      },
      methods:{
        //列表排序
        setOrderType(orderType) {
          // console.log(this);
          this.orderType = orderType //将规定好的点击函数参数赋值给vm的orderType属性
        }
      }
    });
  </script>
  </body>
</html>

求解惑 计算属性那里关于排序方法的返回值 是否sort()方法的返回值都为负数?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值