使用vue实现数组对象排序

分享时间:2019-10-13 922 热度℃
从网上找到的例子用vue来实现数组对象排序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>vue</title>
    <script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
</head>
<body>
    <div class="app">
            <h1>vue</h1>
            <hr>
            <ol>
                <li v-for="number in sortNumbers">{{number}}</li>
            </ol>
            <hr>
            <ul>
                <li v-for="(student,index) in  sortstudents">{{index+1}}:{{student.name}}-{{student.age}}</li>
            </ul>
    </div>  
        <script>
                new Vue({
                    el:'.app',
                    data:{
                                numbers:[5 ,8, 88, 56, 28, 61, 9],
                                students:[
                                     {name:'zs',age:'38'} ,
                                     { name:'ls',age:'29'},
                                     {name:'mike',age:'32'},
                                ]
                     },
                    computed:{
                            sortNumbers:function(){
                                        return this.numbers.sort( sortNumbers);
                            },
                            sortstudents:function(){
                                        return sortByKey(this.students,'age')
                            }
                        }
             });
            function sortNumbers(a,b){
                    return a-b;
            }
            //数组对象排序
            function sortByKey(array,key){
                    return array.sort(function(a,b){
                            var x = a[key];
                            var y = b[key];
                            console.log(x,y)
                            return((x>y)?-1:((x<y)?1:0));
                    })
            }
    </script>
</body>
</html>
本文标签:
返回顶部