• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

90
Vistas
Insertar valores en url

Tengo una función que recibe un objeto y una cadena. ¿Cómo puedo poner bien los valores de un objeto en una cadena?

const str = "/api/items/%id%/%name%";

 let obj = { id : 20, name: 'John Dow'}; function path(obj, str){ let res = //some code return res }

la función debería devolver "/api/items/20/John%20Dow"

no llega a una buena solución. ayudame por favor

almost 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

La siguiente función hará el truco:

 const str = "/api/items/%id%/%name%"; let obj = { id : 20, name: 'John Dow'}; function path(obj, str){ for(const [key, value] of Object.entries(obj)) { str = str.replace(`%${key}%`, encodeURI(value)) } return str; } console.log(path(obj, str))
almost 3 years ago · Juan Pablo Isaza Denunciar

0

use template string con el método encodeURI

 let obj = { id : 20, name: 'John Dow'}; const apiItemsPath = ({id, name}) => `/api/items/${id}/${encodeURI(name)}` console.log(apiItemsPath(obj))

almost 3 years ago · Juan Pablo Isaza Denunciar

0

puedes usar :

  • Object.keys para iterar en la propiedad del objeto
  • string.replace para reemplazar el elemento en su cadena
  • encodeUri para cambiar el carácter especial al carácter codificado en URL

 const str = "/api/items/%id%/%name%"; let obj = { id: 20, name: 'John Dow' }; function path(obj, str) { let res = str; Object.keys(obj).forEach(key => { res = res.replace(`%${key}%`, encodeURI(obj[key])); }); return res; } console.log(path(obj, str));

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda