Introduction
Dans ce laboratoire, nous allons explorer la manière de générer une chaîne de requête à partir des paires clé-valeur d'un objet à l'aide de JavaScript. Nous utiliserons la méthode Array.prototype.reduce() sur Object.entries() pour créer la chaîne de requête et déterminer le symbole approprié à utiliser en fonction de la longueur de la queryString. À la fin de ce laboratoire, vous serez capable de générer efficacement une chaîne de requête pour vos applications web.
Conversion d'un objet en chaîne de requête
Pour convertir un objet en chaîne de requête, utilisez la fonction objectToQueryString() qui génère une chaîne de requête à partir des paires clé-valeur de l'objet donné.
La fonction fonctionne comme suit :
- Elle utilise
Array.prototype.reduce()surObject.entries()pour créer la chaîne de requête à partir dequeryParameters. - Elle détermine le
symboleà utiliser soit?soit&en fonction de la longueur dequeryString. - Elle concatène
valàqueryStringseulement si c'est une chaîne de caractères. - Elle renvoie la
queryStringou une chaîne de caractères vide lorsque lesqueryParameterssont fausses.
Voici le code de la fonction 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;
},
""
)
: "";
};
Utilisation de l'exemple de la fonction objectToQueryString() :
objectToQueryString({ page: "1", size: "2kg", key: undefined }); // renvoie '?page=1&size=2kg'
Sommaire
Félicitations ! Vous avez terminé le laboratoire sur la conversion d'un objet en chaîne de requête. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.