vue里数组排序示例

vue的默认排序方式

<!DOCTYPE html>

<html >

<head>

<meta charset="UTF-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>Document</title>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>

<body>

<div >

<template v-for="user in userInfo">

<li>姓名:{{user}}</li>

</template>

</div>

<script>

var v=new Vue({

el:"#app",

data:{

userInfo:['zhangsan','aisi','wangwu']

}

});

v.userInfo.sort();

</script>

</body>

</html>

改写排序方式的示例

<!DOCTYPE html>

<html >

<head>

<meta charset="UTF-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<title>Document</title>

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>

<body>

<div >

<template v-for="user in userInfoSorted">

<li>姓名:{{user.name}}</li>

</template>

</div>

<script>

var v = new Vue({

el: "#app",

data: {

userInfo: [

{ name: "zhangsan" },

{ name: "aisi" },

{ name: "wangwu" },

],

},

computed: {

userInfoSorted: function () {

// a,b参数代表的是user 按照 长度降序排序

return this.userInfo.sort(function (a, b) {

return -(a.name.length - b.name.length);

});

},

},

});

</script>

</body>

</html>