- ベストアンサー
データのidの多い順に書き出す
ぜひご教授ください。 データをhtmlに、ジャバスクリプトで表にしようとしています。 その際、ジャバスクリプトファイルとデータは別ファイル化することを前提にしています。 具体には、a.jsは、テーブルの書き出しを想定し、次のように書き込んでいます。 //テーブル書き出し html = '<table width="195px">' for (i=0;i<data.length-1;i++) { html += ' <tr>' html += ' <td> ' +data[i]+ ' </td>' html += ' </tr>' } html += '</table>' //書き出し document.write( html ) //--> そして、b.jsはデータファイルとし、次のように書き込んでいます。 var data = new Array() data[0] = "aaaaa" data[1] = "bbbbb" で、これをhtmlに表示させると、aaaaaの下にbbbbbが来るわけですが、考えているのは、データを足していき、htmlの表示は、新しい順にならべたいと考えているため、これでは不服なのです。 いちいち、データファイルに足す際、data[*]を全部書き換えるのも嫌なので、そのまま、*は大きいものを足すだけで、それでいてhtmlの方は*の大きい方から表示する…。 そうするには、どこをどういじればよいのでしょうか。 本気で困っています。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
for (i=0;i<data.length-1;i++) これを逆に回せばよいかと思います。 for (i=data.length-1;i>=0;i--) ちなみに、 for (i=0;i<data.length-1;i++) だと、最後のdata[data.length-1]が表示されないような…。
その他の回答 (1)
- STICKY2006
- ベストアンサー率29% (1536/5269)
こんちくわ。 for (i=0;i<data.length-1;i++) を for (i=data.length-1;i>0;i--) と これでどうよ?? 配列の後ろから順に持ってくる。。。 ただ、確認はしていないので i=data.length かもしれない。や i==0 かもしれない。は、実行確認しながら確かめてみてくださいな。
お礼
ありがとうございます。 実行確認しながらやってみます。
お礼
そうだったんだ…。 for (i=0;i<data.length-1;i++)はやってみたんですが、ご指摘のとおり、最後が表示されなくて…困り果てていたのです。 ありがとうございました。本当に助かりました。