JavaScriptでクエリ文字列値を取得するにはどうすればよいですか?を読んでいました。Stackoverflowで、最初の返信からのこのコードは、なぜ「vars.push()」がこのように使用されているのか疑問に思いました。
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
しかし、これの代わりに:
var vars=[];
...
vars.push(hash[0]);
vars[hash[0]] = hash[1];
私は次のようにコードを書き直しました:
var vars={};
...
vars[hash[0]] = hash[1];
そしてそれは動作します。今の質問は次のとおりです。
- なぜ誰かがその種の応答に配列を使用するのでしょうか?
- そして、なぜ誰かがフォーマットを使用
ARR.push(KEY)
し、その後使用するのでしょうか?ARR[KEY]=VAL