Javascriptで挫折
JSONをULで表現して楽々把握という車輪の再発明をしようとして、途中で挫折した。
挫折したポイントを列挙すると、
- jQueryのmapが使いずらい。配列を返すと、勝手に結合される
- 配列とオブジェクトを区別したいのに、区別する方法が思いつかない
やりたかったことを疑似コードで書くと、次のようになる。
function createTree(json){ switch(json){ case 配列: return json.map(function(value){ if(valueがハッシュか配列){ return $ul(createTree(value)); }else{ return $li(value); } }); break; case ハッシュ: return json.map(function(key,value){ if(valueがハッシュか配列){ return $ul(createTree(value)); }else{ return $li(key); } }); break; } }