Ich las Wie kann ich Abfragezeichenfolgenwerte in JavaScript erhalten? bei Stackoverflow und dieses Stück Code aus der ersten Antwort ließ mich fragen, warum ´vars.push()´ so verwendet wird?
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;
}
Aber anstatt dessen:
var vars=[];
...
vars.push(hash[0]);
vars[hash[0]] = hash[1];
Habe ich den Code wie folgt umgeschrieben:
var vars={};
...
vars[hash[0]] = hash[1];
und es funktioniert. Jetzt sind die Fragen:
- Warum würde jemand ein Array für diese Art von Antwort verwenden?
- Und warum würde jemand das Format
ARR.push(KEY)
verwenden und dann das FormatARR[KEY]=VAL
verwenden?