JavaScriptで連想記憶配列を使いたいのですが、さらに数字の添え字を使った2次元配列を扱うことは可能でしょうか?

 hoge[0]["name"]="foo";
 hoge[0]["age"]=20;
 hoge[1]["name"]="bar";
 hoge[1]["age"]=25;
のように初期化したいです。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2006/11/07 16:51:03
  • 終了:2006/11/07 18:08:17

回答(3件)

id:yo-kun No.1

yo-kun回答回数220ベストアンサー獲得回数302006/11/07 17:06:30

ポイント27pt

できますよ。

以下、簡単なサンプルです。

  var hoge = new Array() ;
  hoge[0] = new Array() ;
  hoge[1] = new Array() ;
  hoge[0]["name"] = "foo";
  hoge[0]["age"] = 20 ;
  hoge[1]["name"] = "bar";
  hoge[1]["age"] = 25;

  alert(hoge[0]["age"]);

http://pzxa85.hp.infoseek.co.jp/www/wwwjsarr.htm

id:P-mako

ご回答ありがとうございます。

できました!助かりました。

2006/11/07 18:05:05
id:talepanda No.2

talepanda回答回数57ベストアンサー獲得回数122006/11/07 17:14:01

ポイント27pt
<script type="text/javascript">
//地道に
hoge=new Array();
hoge[0]=new Array();
hoge[1]=new Array();
hoge[0]["name"]="foo";
hoge[0]["age"]=20;
hoge[1]["name"]="bar";
hoge[1]["age"]=25;
for(i in hoge)for(j in hoge[i])document.write(i+" "+j+": "+hoge[i][j]+"<br/>");

//又は一発で
boke=[{"name":"foo","age":20},{"name":"bar","age":25}]
for(i in boke)for(j in boke[i])document.write(i+" "+j+": "+boke[i][j]+"<br/>");
</script>

http://hatena.ne.jp/

id:P-mako

ご回答ありがとうございます。

2006/11/07 18:05:35
id:suVene No.3

suVene回答回数6ベストアンサー獲得回数02006/11/07 17:57:06

ポイント26pt

オブジェクトを配列に突っ込む方法が簡単だと思います。

var hoge = [];
hoge.push(createObject("foo", 20));
hoge.push(createObject("bar", 25));

hoge.each(function(v, idx) {
  print(
    'name: ' + v.name + '\n' +
    'age: ' + v.age
  );
});

function createObject(p1, p2) {
  var o = new Object();
  o.name = p1;
  o.age = p2;
  return o;
}

http://google.com (dummy)

id:P-mako

classを使う方法ですね。

本来は、こっちが適当のような気がしますが、やや慣れない感があるので、今回は2次元配列でやります。

そのうち役立ちそうです。ありがとうございます。

2006/11/07 18:08:08

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません