下記のようなJSONデータがあるとしてscore1、2,3それぞれでソートできるボタンを作ろうと思っています。
arr =[ { "no": 1, "name": "りんご", "score_1": 76, "score_2": 33, "score_1": 46 }, { "no": 2, "name": "ばなな", "score_1": 100, "score_2": 31, "score_1": 56 }, { "no": 3, "name": "みかん", "score_1": 78, "score_2": 90, "score_3": 89 }, { "no": 4, "name": "いちじく", "score_1": 83, "score_2": 32, "score_3": 87 } ]
score_1に関しては下記のように書いてソート(昇順・降順)で並び替えができるのですが、このままだと下記をscoreの数ごと記述しなければならないです。
ほぼ同じ記述が増えていく。。。
今後ソートしたいscoreが増えていった場合に困るなと思っています。
できれば共通化をしたいのですが、良い方法はないでしょうか・・・?
function sort_1(){ if(flag_score1 == 0){ flag_score1 = 1; arr.sort(function(a,b){ if(a.score_1 > b.score_1) return -1; if(a.score_1 < b.score_1) return 1; return 0; }); }else{ flag_score1 = 0; arr.sort(function(a,b){ if(a.score_1 < b.score_1) return -1; if(a.score_1 > b.score_1) return 1; return 0; }); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/11 04:05
2017/03/11 04:10 編集
2017/03/11 04:11
2017/03/11 04:43