EliK
EliK

Reputation: 221

sorting list of object by property in VueJS

I have just started to learn VueJS 2 and the more questions I have the harder it becomes.

The idea is that I have a sample problem with an array of objects, where I want to sort the array by "votes" property, which can be dynamically updated for each separate element. I want to sort my list by votes dynamically. Thus the question is how can I do that without doing weird code.

In angular you will do something like

for candidate in candidates | orderBy: 'votes'

but in here I could of though only of something like

v-for="(value, index, key) in sorted_candidates"

where in .js I'll have

 computed : {
      sorted_candidates() {
          return this.candidates.sort((a, b) => { return b.votes - a.votes;});
      }
  }

So my question would be if there is a more elegant way to solve this problem? Note: I am sorting on object property.

Upvotes: 13

Views: 44898

Answers (1)

kevguy
kevguy

Reputation: 4438

This is already a simple enough solution, in Vue1 you can still use OrderBy but in Vue2 they suggest you opt for the current solution you currently have, you can reference on here

Upvotes: 6

Related Questions