
JSでオブジェクトの値を使ってソートする方法
ニュースサイトで、ニュースに対するコメントがずらーっと並んでたとして、
そのコメントに対するLikeの数が多い順から上に並べていきたいという機能を考えてみます。
下記のようにオブジェクトがって、それをlikeの数字の数でソートすることができます。
下記の実装を見てみてください。
var comments = [
{
like: 10,
value: "test",
},
{
like: 1,
value: "test",
},
{
like: 5,
value: "test",
},
];
var byLikes = comments.slice(0);
byLikes.sort(function (a, b) {
return b.like - a.like;
});
console.log(byLikes);
// Array [Object { like: 10, value: "test" }, Object { like: 5, value: "test" }, Object { like: 1, value: "test" }]
以上になります。