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" }]

以上になります。

 

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です