配列からリストを作るサンプル

Pocket

JavaScriptで配列からHTMLのULを使ったリストを作るユーザー定義関数を作ってみました。
配列を与えるとレベルに応じて入れ子構造になったULリストを文字列で出力します。

function array2ul(a) {
  var t = "";
  var exlevel = 0;
  var level;
  var i, j;
  for (i = 0; i <= a.length; i++) {
    level = i < a.length ? a[i][0] : 0;
    for (j = 0; j < Math.abs(exlevel - level); j++) {
      t += exlevel < level ? "<ul>" : "</ul>";
    }
    t += i < a.length ? "<li>" + a[i][1] + "</li>" : "";
    exlevel = level;
  }
  return t;
}

次のように使います。配列は[レベル,テキスト]という形で与えます。レベルは1から始めます。

var a = [
  [1, "a"],
  [2, "b"],
  [3, "c"],
  [3, "c"],
  [2, "b"],
  [3, "c"],
  [3, "c"],
  [1, "a"],
  [2, "b"],
  [3, "c"],
  [3, "c"],
  [2, "b"],
  [3, "c"],
  [3, "c"]
];
var ul = array2ul(a);

出力結果です。

関連記事

[ 2012年6月16日 | カテゴリー: JavaScript | タグ: , , , ]

« | »

コメントを残す

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

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報