複合キーみたいなこと - flex by ActionScript
2014/09/09
■
actionscript3.0
flex
ActionScriptです。
複合キーみたいなことをしてみたいです。
よく、キーを作成するのに文字列の連結をしたりしてて、いけてないなー、と思うことがしばしばです。
キーにするならKeyクラスみたいなもの用意して、文字列連結なんぞせず、キーにできたらいいんじゃないと思ったりしてますが、以外と、このKeyクラスを設計したりするのが面倒なのだなーと思ったりしてますが、actionscriptには、Dictionaryなるものが用意されていて、便利なのかしら、と思いましたが、案外、意外に、使い勝手が、自分のニーズにマッチしてませんでした。
ようは、いかつかの要素を集めて、それをキーにしたいわけですが、 adobeさんのページみても、Dctionaryは、オブジェクトのtoStringがキーになるわけではないよと、書かれてます。
ただ、いくつかの要素が集まってキーにしたいわけで、文字列連結なんて、いやだなーと思いました。
で、Arrayをキーにすると、僕の、やりたいことにマッチしたわけです。
以下、コード
たぶんうまくいってると思うのですが、どうでしょうか?
すごく使い出があると思います。
これってjavascriptでも普通にいけるのでしょうか?
複合キーみたいなことをしてみたいです。
よく、キーを作成するのに文字列の連結をしたりしてて、いけてないなー、と思うことがしばしばです。
キーにするならKeyクラスみたいなもの用意して、文字列連結なんぞせず、キーにできたらいいんじゃないと思ったりしてますが、以外と、このKeyクラスを設計したりするのが面倒なのだなーと思ったりしてますが、actionscriptには、Dictionaryなるものが用意されていて、便利なのかしら、と思いましたが、案外、意外に、使い勝手が、自分のニーズにマッチしてませんでした。
ようは、いかつかの要素を集めて、それをキーにしたいわけですが、 adobeさんのページみても、Dctionaryは、オブジェクトのtoStringがキーになるわけではないよと、書かれてます。
ただ、いくつかの要素が集まってキーにしたいわけで、文字列連結なんて、いやだなーと思いました。
で、Arrayをキーにすると、僕の、やりたいことにマッチしたわけです。
以下、コード
var dic:Object = {};
var key1:Array = ["1","2","3"];
var key2:Array = ["","2","3"];
var key3:Array = ["","","3"];
var key1_:Array = ["1","2","3"];
dic[key1] = "i am key1";
dic[key2] = "i am key2";
dic[key3] = "i am key3";
trace("==>" + dic[key1_]); // i am key1
dic[key1_] = "上書き";
trace("==>" + dic[key1]); // 上書き
たぶんうまくいってると思うのですが、どうでしょうか?
すごく使い出があると思います。
これってjavascriptでも普通にいけるのでしょうか?
: