Vue基础知识之利用v-for语句+自定义排序函数实现data内数据按照age列自动排序
- v-for.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<title>v-for实例</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script type='text/javascript' src='../assets/js/vue.js' ></script>
</head>
<body>
<h1>v-for实例</h1>
<hr>
<div id="app" >
<ul>
<li v-for='item in sortitems'>
{{item}}
</li>
</ul>
<hr>
<ul>
<li v-for='(student,index) in sortStudents'>
{{index+1}}:{{student.name}}-{{student.age}}
</li>
</ul>
</div>
<script type='text/javascript'>
var app =new Vue({
el:'#app',
data:{
items:[61,6,64,22,72,43,5],
students:[
{name:'Andrew Ng',age:'42'},
{name:'Jason Niu',age:'25'},
{name:'Geoffrey Hinton',age:'76'}
]
},
computed:{
sortitems:function(){
return this.items.sort(sortNumber);
},
sortStudents:function(){
return sortByKey(this.students,'age');
}
}
});
function sortNumber(a,b){
return a-b;
}
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>
</body>
</html>