基本上,我正在尝试按属性排序对象数组。
假设我有一个数组中的三个对象,每个对象都有一个属性
我希望
有什么解决这个问题的想法吗?
我意识到我可以遍历每个对象并转换为整数-但有没有避免这样做的方法?
JSFiddle: http://jsfiddle.net/CY2uM/
假设我有一个数组中的三个对象,每个对象都有一个属性
views
。var objs = [
{
views: '17'
},
{
views: '6'
},
{
views: '2'
}
];
在数组objs
上使用排序方法:
function sortByProperty(property) {
return function (a,b) {
/* Split over two lines for readability */
return (a[property] < b[property]) ? -1 :
(a[property] > b[property]) ? 1 : 0;
}
}
objs.sort(sortByProperty('views'));
我希望
objs
现在基本上是相反的顺序,然而'17'
似乎被视为小于'6'
和'2'
。我意识到这可能是因为'1'
。有什么解决这个问题的想法吗?
我意识到我可以遍历每个对象并转换为整数-但有没有避免这样做的方法?
JSFiddle: http://jsfiddle.net/CY2uM/