Einführung
In diesem Lab werden wir untersuchen, wie man mithilfe von JavaScript aus den Schlüssel-Wert-Paaren eines Objekts einen Abfragezeichenfolge erstellt. Wir werden die Array.prototype.reduce()-Methode auf Object.entries() anwenden, um die Abfragezeichenfolge zu erstellen, und basierend auf der Länge der queryString das passende Symbol ermitteln. Am Ende dieses Labs werden Sie in der Lage sein, effizient eine Abfragezeichenfolge für Ihre Webanwendungen zu generieren.
Umwandlung eines Objekts in eine Abfragezeichenfolge
Um ein Objekt in eine Abfragezeichenfolge umzuwandeln, verwenden Sie die Funktion objectToQueryString(), die aus den Schlüssel-Wert-Paaren des angegebenen Objekts eine Abfragezeichenfolge generiert.
Die Funktion funktioniert wie folgt:
- Sie verwendet
Array.prototype.reduce()aufObject.entries(), um die Abfragezeichenfolge ausqueryParameterszu erstellen. - Sie bestimmt das
Symbolals entweder?oder&basierend auf der Länge vonqueryString. - Sie konkateniert
valnur dann anqueryString, wenn es sich um einen String handelt. - Sie gibt die
queryStringoder einen leeren String zurück, wennqueryParametersfalsch ist.
Hier ist der Code für die Funktion objectToQueryString():
const objectToQueryString = (queryParameters) => {
return queryParameters
? Object.entries(queryParameters).reduce(
(queryString, [key, val], index) => {
const symbol = queryString.length === 0 ? "?" : "&";
queryString +=
typeof val === "string" ? `${symbol}${key}=${val}` : "";
return queryString;
},
""
)
: "";
};
Beispielverwendung der Funktion objectToQueryString():
objectToQueryString({ page: "1", size: "2kg", key: undefined }); // gibt '?page=1&size=2kg' zurück
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Objekt in Abfragezeichenfolge" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.