API de parámetros de búsqueda de URL de Node.js

Node.js es un proyecto de código abierto ampliamente utilizado para el desarrollo de aplicaciones web dinámicas. La API URLSearchParams en Node.js permite operaciones de lectura y escritura en la consulta de URL.

La clase URLSearchParams es un objeto global y se usa con uno de los cuatro constructores siguientes.

Constructores:

  1. new URLSearchParams(): ningún constructor de argumentos instancia un nuevo objeto URLSearchParams vacío.
  2. new URLSearchParams(string): acepta una string como argumento para instanciar un nuevo objeto URLSearchParams.

    var params = new URLSearchParams('user=abc&q=xyz');
    console.log(params.get('user'));
    console.log(params.get('q'));

    Producción:

    abc
    xyz
  3. new URLSearchParams(obj): acepta un objeto con una colección de pares clave-valor para instanciar un nuevo objeto URLSearchParams. El par clave-valor de obj siempre está forzado a strings. No se permiten llaves duplicadas.

    const params = new URLSearchParams({
      user: 'ana',
      course: ['math', 'chem', 'phys']
    });
    console.log(params.toString());

    Producción:

    user=ana&course=math%2Cchem%2Cphys
  4. new URLSearchParams (iterable): acepta un objeto iterable que tiene una colección de pares clave-valor para instanciar un nuevo objeto URLSearchParams. Iterable puede ser cualquier objeto iterable. Dado que URLSearchParams es iterable, un objeto iterable puede ser otro URLSearchParams, donde el constructor creará un clon de los URLSearchParams proporcionados. Se permiten claves duplicadas.

    // Using a Map object as it is iterable
    const map = new Map();
    map.set('West Bengal', 'Kolkata');
    map.set('Karnataka', 'Bengaluru');
    params = new URLSearchParams(map);
    console.log(params.toString());

    Producción:

    West+Bengal=Kolkata&Karnataka=Bengaluru

Accediendo a la consulta de URL:

  • urlSearchParams.get(name): Devuelve el valor del primer par nombre-valor que coincide con el argumento pasado. Si no existe tal par, se devuelve nulo.

    const myURL = new URL(
      
    console.log(myURL.searchParams.get('abc'));

    Producción:

    123
  • urlSearchParams.getAll(name): Devuelve todo el valor del par nombre-valor que coincide con el argumento pasado. Si no existe tal par, se devuelve nulo.

    const myURL = new URL(
    console.log(myURL.searchParams.getAll('abc'));

    Producción:

    [ '123', '526' ]
  • urlSearchParams.has(name): devuelve verdadero si el argumento pasado coincide con cualquier nombre existente del par nombre-valor; de lo contrario, devuelve falso.

    const myURL = new URL(
    console.log(myURL.searchParams.has('abc'));
    console.log(myURL.searchParams.has('pqr'));

    Producción:

    true
    false

Manipulación de la consulta de URL:

  • urlSearchParams.set(nombre, valor): Establece el valor en el objeto URLSearchParams asociado con nombre al valor especificado. Si existe más de un par nombre-valor, cuyos nombres son los mismos que el argumento ‘nombre’, entonces se cambia el único valor del primer par coincidente, el resto se elimina.

    const params = new URLSearchParams(
        'abc=123&xyz=526&abc=258');
    console.log(params.toString());
    params.set('abc', 'opq');
    console.log(params.toString());

    Producción:

    abc=123&xyz=526&abc=258
    abc=opq&xyz=526
  • urlSearchParams.append(nombre, valor): agrega un nuevo par de nombre y valor a la consulta URLSearchParams existente.

    const params = new URLSearchParams('xyz=123');
    params.append('foo', '789');
    params.append('xyz', 'zoo');
    params.append('foo', 'def');
    console.log(params.toString());

    Producción:

    xyz=123&foo=789&xyz=zoo&foo=def
  • urlSearchParams.delete(name): elimina todos los pares de nombre-valor cuyo nombre es el mismo que el argumento ‘nombre’.

    const params = new URLSearchParams(
      'xyz=123&foo=789&xyz=zoo&foo=def');
    console.log(params.toString());
    params.delete('foo');
    console.log(params.toString());

    Producción:

    xyz=123&foo=789&xyz=zoo&foo=def
    xyz=123&xyz=zoo
  • urlSearchParams.sort(): Ordena los pares de nombre-valor existentes en el lugar por sus nombres usando un algoritmo de clasificación estable.

    const params = new URLSearchParams(
      'query=node&type=search&abc=programs');
    params.sort();
    console.log(params.toString());

    Producción:

    abc=programs&query=node&type=search
  • urlSearchParams.toString(): Devuelve los parámetros de búsqueda de URL como una string, con caracteres codificados en porcentaje cuando sea necesario.

    const params = new URLSearchParams(
      'query=node&type=search&passwd[]=3456');
    console.log(params.toString());

    Producción:

    query=node&type=search&passwd%5B%5D=3456

Iterando la consulta de URL:

  • urlSearchParams.entries(): Devuelve un iterador sobre el conjunto de entradas del objeto param.

    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var pair of params.entries()) {
       console.log(pair[0]+ '-->'+ pair[1]); 
    }

    Producción:

    query-->node
    type-->search
    passwd-->3456
  • urlSearchParams.keys(): Devuelve un iterador sobre el conjunto de claves del objeto param.

    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var key of params.keys()) {
       console.log(key); 
    }

    Producción:

    query
    type
    passwd
  • urlSearchParams.values(): Devuelve un iterador sobre el conjunto de valores del objeto param.

    const params = new URLSearchParams(
        'query=node&type=search&passwd=3456');
    for(var value of params.values()) {
       console.log(value); 
    }

    Producción:

    node
    search
    3456
  • urlSearchParams.forEach(fn[, arg]): fn es una función invocada para cada par nombre-valor en la consulta y arg es un objeto que se usará cuando se llame a ‘fn’. Itera sobre cada par de nombre-valor en la consulta e invoca la función.

    const myURL = new URL(
    myURL.searchParams.forEach(
      (value, name, searchParams) => {
    console.log(name, value, 
      myURL.searchParams === searchParams);
    });

    Producción:

    a b true
    c d true
    d z true
  • urlSearchParams[Símbolo.iterador]():

    const params=new URLSearchParams(
        'firstname=john&lastname=beck&gender=male');
    for (const [name, value] of params) {
      console.log(name, value);
    }

    Producción:

    firstname john
    lastname beck
    gender male
    

Publicación traducida automáticamente

Artículo escrito por Shreyasi_Chakraborty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *