下記のようなJSONデータを50音順でソートしたいのですが、
どうすれば良いでしょうか?

{
 "human": {
 "artist": [
  {
  "link": "goo1.html",
  "name": "小田 和正",
  "yomi": "おだかずまさ"
  },
  {
  "link": "goo2.html",
  "name": "岩佐美咲",
  "yomi": "いわさみさき"
  },
  {
  "link": "goo3.html",
  "name": "指原莉乃",
  "yomi": "しのはらりの"
  },
 ]
 }
}

A 回答 (1件)

javascriptには配列をソートするメソッドがありますので、それを利用すればよろしいかと。




例えば、yomi順にソートする例
(以下の例では、直接並び替えずにtest配列に移し変えてソートしています)

var json = {
 "human": {
  "artist": [
   {
    "link": "goo1.html",
    "name": "小田 和正",
    "yomi": "おだかずまさ"
   },
   {
    "link": "goo2.html",
    "name": "岩佐美咲",
    "yomi": "いわさみさき"
   },
   {
    "link": "goo3.html",
    "name": "指原莉乃",
    "yomi": "しのはらりの"
   }
  ]
 }
};


// 並べ替え用の配列に格納
var i, test = [];
var artist = json.human.artist;
var n = artist.length;

for(i=0; i<n; i++)
 test[i] = [ artist[i].yomi, artist[i] ];


// 並べ替え
test.sort();
for(i=0; i<n; i++)
 test[i] = test[i][1];


// 結果をテスト表示してみる
var t, result = "";
for(i=0; t=test[i++];)
 result += (result?"\n":"") + "link=" + t.link + " / name=" + t.name + " / yomi=" + t.yomi;

alert(result);
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
期待した通りに動作しました。
大変参考になりました!

お礼日時:2012/06/28 00:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

  • カウントダウンしたいことある?

    大晦日は、2011年最後の1日です。天皇陛下が「心の重い年」と表現されたように、3月11日の未曽有の大惨事は本当に大変な出来事でした。今年の漢字として選ばれた「絆」が我々にとって大切なものであると強く感じさせ...

  • ゴルフが上達する方法を専門家に聞いてみた!!

    5月28日はゴルフ記念日である。制定したのはスポーツ用品メーカーのミズノの直営店、エスポートミズノだ。制定のきっかけとなったのは、1927年の5月28日に横浜の程ヶ谷カントリー倶楽部で開催された第1回日本オープ...

  • 彼女がバイトで男の全裸を見ている……辞めさせるには?

    自分の彼女が「全裸の男を目にするバイト」をしている。バイトを辞めてほしい……! そんな悩みを抱えている男性を「教えて!goo」で見つけた。といってもアダルト系のバイトではない。「彼女が男湯掃除をしていてショ...

  • 人は何のために生きるのか

    新年度が始まってから2ヵ月が過ぎようとしている。ちょっと落ち着いてきたところでかかってしまうのが五月病だが、以降もこれからどう過ごしていけばいいのか考え込んでしまう人も多いだろう。ということで、今回は...

  • せきらら女子会:第73話「男を落とすテクニック①」

    恋愛、結婚、お金、夜の営み...いろんなことに対して、赤裸々にトークする女の子達のお話。考え方の違う4人が、今日も居酒屋に集まります。

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ