って使えないんですね。 var array = []; array["a"] = "string a"; array["b"] = "string b"; console.log(array.length); 見事に0が返ってきます。意味が分かりません。 まぁ今作ってるものにはlengthプロパティ使うつもりないし、全走査するときもfor in使えるからいいや!と思っていたのですが、socket.io経由で上のarrayという名の連想配列をサーバ->クライアントに渡したら空の配列しか取り出せませんでした。 結局設計者の意図を読んで、それに合わせた使い方しないといけないのかな。 参考:http://d.hatena.ne.jp/amachang/20070202/1170386546