重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

valueの値をsplitを使って連想配列に変形しようと思ったのですが、、エラーが出てお手上げ状態です。上手く動かす方法はないでしょうか?
ブラウザはie9を使っています。

var value = "mode=test&text=test&amount=123";
var value2 = value.split("&");
var response = "";

for(var i=0; i<=value2.length; i++) {
value3 = value2[i].split("=");
response[value3[0]] = value3[1];
}

document.write(response);

A 回答 (2件)

#1です。



たしして詳しくないので説明はできないのですが・・・


[]、{}はそれぞれArray、Objectのショートハンドです。
(↓)に『連想配列はObjectで』みたいな記述がありました。
https://developer.mozilla.org/ja/JavaScript/Refe …


>また、<=を<にすると動く理由が分からないのですが
上記ページにlengthの説明もありますので、iの取りうる範囲を考えてみてください。
    • good
    • 0
この回答へのお礼

なるほど・・・。わかりました!
ありがとうございます。

お礼日時:2012/06/27 23:44

ie9では試していませんが、




とりあえず
 var response = ""; → var response = {}; (または var response = [];)

 for(var i=0; i<=value2.length; i++)  → for(var i=0; i<value2.length; i++)

とすれば動作すると思いますが、いずれにしても

 document.write(response);
では、内容は表示されないと思いますが?

この回答への補足

ありがとうございます。無事、動きました。

{}や[]はnew Array()のようなものですか?
また、<=を<にすると動く理由が分からないのですが、、

直していただいた上に重ねて質問というのも失礼ですが、お願いします。

補足日時:2012/06/25 22:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!