Objeto a Cadena de Consulta

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos cómo generar una cadena de consulta a partir de los pares clave-valor de un objeto utilizando JavaScript. Utilizaremos el método Array.prototype.reduce() en Object.entries() para crear la cadena de consulta y determinar el símbolo adecuado a utilizar en función de la longitud de la queryString. Al final de este laboratorio, serás capaz de generar eficientemente una cadena de consulta para tus aplicaciones web.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/obj_manip("Object Manipulation") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") javascript/AdvancedConceptsGroup -.-> javascript/template_lit("Template Literals") subgraph Lab Skills javascript/variables -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/data_types -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/arith_ops -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/comp_ops -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/obj_manip -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/higher_funcs -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/destr_assign -.-> lab-28524{{"Objeto a Cadena de Consulta"}} javascript/template_lit -.-> lab-28524{{"Objeto a Cadena de Consulta"}} end

Convertir un objeto a una cadena de consulta

Para convertir un objeto en una cadena de consulta, utiliza la función objectToQueryString() que genera una cadena de consulta a partir de los pares clave-valor del objeto dado.

La función funciona de la siguiente manera:

  • Utiliza Array.prototype.reduce() en Object.entries() para crear la cadena de consulta a partir de queryParameters.
  • Determina el símbolo que puede ser ? o & en función de la longitud de queryString.
  • Concatena val a queryString solo si es una cadena.
  • Devuelve la queryString o una cadena vacía cuando los queryParameters son falsos.

Aquí está el código de la función 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;
        },
        ""
      )
    : "";
};

Uso de ejemplo de la función objectToQueryString():

objectToQueryString({ page: "1", size: "2kg", key: undefined }); // devuelve '?page=1&size=2kg'

Resumen

¡Felicidades! Has completado el laboratorio de Conversión de Objeto a Cadena de Consulta. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.