zoukankan      html  css  js  c++  java
  • 使用vue实现数组排序输出

    在学习vue指令的时候发现一个JavaScript数组的坑,记录一下

    (1)数组排序处理

    <div id="app">
          <ul>
              <li v-for="item in sortItems">
                  {{item}}
              </li>
          </ul>
        </div>
    
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    items:[20,23,7,89,66,45]
                },
                computed:{
                    sortItems:function(){
                        return this.items.sort();
                    }
                },
            });

    结果如下:

    为了解决这个问题做出如下处理:

     <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    items:[20,23,7,89,66,45]
                },
                computed:{
                    sortItems:function(){
                        return this.items.sort(sortNumber);
                    }
                },
            });
            // 排序处理
            function sortNumber(a,b){
                return a-b
            }
        </script>

    处理后的结果:

     (2)数组对象方法排序处理

    <div id="app">
          <ul>
            <li v-for="student in sortStudent">
                {{student.name}} - {{student.age}}
            </li>
          </ul>
        </div>
    
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    students:[
                        {name:'jspang',age:32},
                        {name:'Panda',age:30},
                        {name:'PanPaN',age:21},
                        {name:'King',age:45}
                    ]
                },
                computed:{
                    sortStudent:function(){
                        return sortByKey(this.students,'age');
                    }
                },
            });
            // 数组对象方法排序:
            function sortByKey(array,key){
                return array.sort(function(a,b){
                    var x=a[key];
                    var y=b[key];
                    return ((x<y)?-1:((x<y)?1:0));
                });
            }
        </script>
  • 相关阅读:
    Beautifulsoup模块
    Tronado自定义Form组件
    5分钟入门Tornado
    Django-组件拾遗
    mvc Area(区域)相关技术
    制作web安装程序
    MVC
    Asp.net MVC中repository和service的区别
    关于ASP.NET MVC+Repository+Service架构的一些思考
    MVC引入SERVICE层 提高代码重用性 沟通CONTROL和MODEL
  • 原文地址:https://www.cnblogs.com/-ting/p/12708619.html
Copyright © 2011-2022 走看看