[英]Vue.js - how to sort and objects inside the array by particular property and render it with “v-for”
我有一个数组,里面有一些对象。 每个对象都包含一些属性。
我使用vue.js v-for方法将其呈现在列表中。
但是我不能按照给定属性的特定顺序进行渲染。 我使用此函数对它进行升序排序:
evenNumbers: function () {
return this.numbers.sort(function (a, b) { return a - b });
}
它可以与[22、1、2、3、4、5]这样的简单数组配合使用。 但这不适用于像这样的对象:
numbers2: [
{
name: 'Alan',
age: 72
},
{
name: 'Thomas',
age: 32
},
{
name: 'Thomas',
age: 32
},
{
name: 'Michal',
age: 32
},
]
}
我想按年龄将它们按升序排序。
最后,我只想在li内部渲染它们,例如仅{{age}}属性。
这是我的代码片段: https : //jsfiddle.net/marektchas/jyznx475/2/
由于您现在拥有复杂的对象,因此按对象直接排序将无法按预期进行(操作员运行一些隐式转换,每次比较都会导致NaN
)。
您必须按特定属性(在这种情况下为age
排序。 所以:
evenNumbers2: function () {
return this.numbers2.sort(function (a, b) { return a.age - b.age });
}
参见更新的小提琴 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.