我有一个对象数组,如下所示:
var data = [ { title: 'Shirt', position: 3 }, { title: 'Ball', position: 1, } ]我怎么能把它排序在像这样的for loop使用。
for(var i in data) { }我试过了:
for(var i in data | orderBy:'position')
但这是有角度的,所以正常Javascript它不起作用。
我认为他们必须在循环之前对数组进行排序,或者在循环中添加过滤器,不确定哪种方法最好。
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.
最满意答案
但这是有角度的,所以正常Javascript它不起作用。
您只需使用JavaScript 排序功能即可。 它也适用于Angular(TypeScript)。
注意:排序数字时,您只需使用紧凑比较 :
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);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);
更多推荐
发布评论