2013年7月17日水曜日

javascriptでもEnum型

以前javaのEnumをまとめたけど
javascriptでもやる機会があったので

javascriptでもEnum型

やり方は簡単.

var counter = {
    a: 0,
    b: 1,
    hoge: 10,
}
シンプル. これを呼びだすのも,
console.log("counter is " + counter.a);
// or
console.log("counter is " + counter["hoge"]);
なにがおいしいかって, 後から追加も楽なこと.
たとえば,
<div class=".hoge">
    <ul id="animal">
        <li></li>
        <li></li>
    </ul>
    <ul id="fish">
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
なんていうのがあり, 各 ulの liを順番に表示, 非表示にするようなギャラリーが作りたい, なんて時. 順番に回すのはいいけれど, 今どれが表示されているのか管理したい!でもこの後 ulがどんどん増えて, counterに名前なんて付けてられない!なんて時. あるのかね(・ω・`)
.
$(".hoge ul").each(function(){
    var idName = $(this).attr("id");
    counter[idName] = 1;
});
だいたい想像はつくはず. これで,
    console.log(counter.animal);
    console.log(counter.fish);
でそれぞれのカウンターが用意される. 応用するといろいろできるはず!




ちなみに
window.location
なんてのもこれだったりする.

0 件のコメント:

コメントを投稿

AWS CDKで立てたEC2インスタンスのTimeZoneとかいじりたかった話

EC2を立てることはできたけど、立てたインスタンスは UTCのままだし設定ファイルとかいちいちscpしてくるのはダルい。 当初UserDataでなんとかしようとしたものの、「書く量がヤバいしメンテしにくい」と悩んでいたところ見かけたのが  AWS::CloudFormation:...