【实践题】使用「computed」对对象数组的某属性(例如:成绩)进行【排序输出】
时间: 2023-08-05 13:02:06 浏览: 265
假设有如下的学生对象数组:
```js
const students = [
{ name: 'Tom', score: 80 },
{ name: 'Jerry', score: 90 },
{ name: 'Mickey', score: 70 },
{ name: 'Minnie', score: 85 },
];
```
我们可以使用 Vue 的 `computed` 属性来对学生数组按照成绩进行排序,并将排序后的结果输出。具体实现步骤如下:
1. 在 Vue 实例中定义 `students` 数组和 `sortedStudents` 计算属性:
```js
new Vue({
data: {
students: [
{ name: 'Tom', score: 80 },
{ name: 'Jerry', score: 90 },
{ name: 'Mickey', score: 70 },
{ name: 'Minnie', score: 85 },
],
},
computed: {
sortedStudents() {
// TODO: 对学生数组按照成绩进行排序
return this.students.sort((a, b) => b.score - a.score);
},
},
});
```
2. 在模板中使用 `v-for` 指令循环遍历 `sortedStudents` 数组,并输出每个学生的姓名和成绩:
```html
<ul>
<li v-for="student in sortedStudents" :key="student.name">
{{ student.name }}: {{ student.score }}
</li>
</ul>
```
运行代码后,我们可以看到按照成绩从高到低排序后的学生列表:
```
Jerry: 90
Minnie: 85
Tom: 80
Mickey: 70
```
阅读全文