Gegeben eine Schrägstrich getrennte URL wie http://www.example.com/some/fixed/path/param1/value1/param2/value2/param3/value3
Wie könnte ich ein Schlüssel/Wert-Objekt mit den dynamischen Parametern (param1/value, param2/value2 ...) dieser URL erstellen?Build Schlüssel/Wert Objekt von slash-separated URL
Gültige Parameter haben immer diesen Schrägstrich getrennt param
und value
Format und some/fixed/path
wäre ein Teilstring manuell zur Verfügung gestellt.
Ich habe versucht, die vollständige URL (oder was immer es sein könnte) durch die feste Teilzeichenfolge zu teilen, und ich habe die dynamischen Params ausschneiden, wie ich wollte, aber ich konnte das Schlüssel/Wert-Objekt nicht wie benötigt erstellen :
var url = "http://www.example.com/some/fixed/path/param1/value1/param2/value2/param3/value3";
var uri = "some/fixed/path/";
var result = {};
url.split(uri).forEach(function(x){
var arr = x.split('/');
arr[1] && (result[arr[0]] = arr[1]);
});
console.log(result);
Aber dieses Stück Code bringt mir nur das erste Paar statt alle von ihnen und es erfordert die uri
zu obligat einen Schrägstrich hat. Wenn der Teilstring es nicht hat oder einen nach links hat, wirkt es alles komisch mit einem leeren Schlüssel und dem ersten Schlüssel als Wert o.O
Ich weiß, es ist einfach, aber ich kann es einfach nicht tun. Ich habe versucht zu suchen, aber das muss einen sehr spezifischen Weg haben, auf den ich mich beziehen kann, weil ich nicht selbst finden konnte.
Eine letzte Sache, wenn Sie nichts dagegen haben, zu erklären, anstatt nur geben Sie mir den Fisch, würde ich schätzen, so dass es kein nächstes Mal haben ... hoffentlich
url.replace ("somefixedpath", ""). Split ("/").Filter (e => e); –