人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptで連想記憶配列を使いたいのですが、さらに数字の添え字を使った2次元配列を扱うことは可能でしょうか?
hoge[0]["name"]="foo";
hoge[0]["age"]=20;
hoge[1]["name"]="bar";
hoge[1]["age"]=25;
のように初期化したいです。


●質問者: P-mako
●カテゴリ:インターネット ウェブ制作
✍キーワード:BAR hoge JavaScript name 初期化
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● yo-kun
●27ポイント

できますよ。

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

 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

◎質問者からの返答

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

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


2 ● talepanda
●27ポイント
<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/

◎質問者からの返答

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


3 ● suVene
●26ポイント

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

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)

◎質問者からの返答

classを使う方法ですね。

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ