私はjsが初めてで、オブジェクトの配列を2つのフィールドでソートしようとしています-最初のプロパティから始めて、次に2番目のプロパティで。どちらのプロパティも数値です。
データは次のとおりです。
var homes = [{
"h_id": "3",
"minimumorder": "12",
"price": "17"
}, {
"h_id": "4",
"minimumorder": "1",
"price": "20"
}, {
"h_id": "5",
"minimumorder": "1",
"price": "18.10"
}
配列にはさらにオブジェクトがあります。これは単純化された例です。以下のコード ALMOST でそこにたどり着きますが、minimumorder プロパティの場合、6 の代わりに 1 の後に 12 を置きます。
cmp = function(a, b) {
parseFloat(a);
parseFloat(b);
if (a > b) return +1;
if (a < b) return -1;
return 0;
}
homes.sort(function(a, b) {
return cmp(a.minimumorder,b.minimumorder) || cmp(a.price,b.price)
})
ここでjsFiddle 。
私はこれを理解しようと何時間もグーグルでいじくり回してきたので、どんな助けも大いに感謝します。