I have an array of objects that looks like this:
var data = [
{
title: 'Shirt',
position: 3
},
{
title: 'Ball',
position: 1,
}
]
How could I sort it for use in a for loop
like this.
for(var i in data) {
}
I tried:
for(var i in data | orderBy:'position')
But that is angular so normal Javascript it doesn't work.
I'm thinking their must be some way to sort the array before looping through it, or adding a filter to the loop, not sure which is the best way.
But that is angular so normal Javascript it doesn't work.
Simply you can use JavaScript sort function. It will work in Angular(TypeScript) also.
Note: When sorting numbers, you can simply use the compact comparison:
myArray.sort((n1,n2) => n1 - n2);
var data = [{
title: 'Shirt',
position: 3
},
{
title: 'Ball',
position: 1,
}
];
data.sort(function(a, b) {
return a.position - b.position;
})
console.log(data);