###前提・実現したいこと
javascriptを使ってランキングの順位を表示する仕組みを実装したい。
■前提条件
データベースはニフティのmBaasのデータストアを使用
■参考
ニフティ公式ドキュメント(基本的な使い方)
ニフティ公式ドキュメント(ランキングを作る)
DBに名前とスコアなどを登録していき、それをランキングとして表示したい。
DBへの登録は公式APIを使って実装しており、
スコア順にソートしてデータを抽出することは可能です。
###発生している問題
当初、HTMLで出力する際のループ処理を行うときに、配列のインデックスを使って、
順位の番号を書き出そうとしていましたが、その場合だと同点のときの同率順位の時に、
順位の表記がおかしくなってしまいます。
例)
10点 1人
9点 2人
8点 3人
7点 1人 などの時に、
1位 ○○○○さん
2位 XXXXさん
2位 △△△△さん
4位 ●●●●●さん
4位 ▲▲▲▲▲さん
4位 ■■■■■さん
といった表示を行いたいです。
ニフティのデータストアでは、SQLを使ってデータの登録ができないので、PHPなどで集計を行ってからデータを登録するのは難しいと思うので、
下記のようなデータをAPIで引っ張ってきて、データを加工して表示を行おうかと思っております。
json
1[ 2 {score:10,name:○○○○}, 3 {score:8,name:●●●●●}, 4 {score:9,name:XXXX}, 5 {score:8,name:▲▲▲▲▲}, 6 {score:9,name:△△△△}, 7 {score:8,name:■■■■■} 8]
###補足情報(言語/FW/ツール等のバージョンなど)
フロントエンドはReact+reduxで実装を行っております。
javascriptでどういったアルゴリズムでデータを加工すればよいかわからなかったため、お教えいただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/19 18:10