基本的に、オブジェクトの配列をプロパティでソートしようとしています。
配列内に 3 つのオブジェクトがあり、それぞれにプロパティがあるとします。views
var objs = [
{
views: '17'
},
{
views: '6'
},
{
views: '2'
}
];
配列で sort メソッドを使用する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/