0
votes

Remplacer le modèle URL d'image avec des valeurs

Je reçois des URL d'image d'une API qui ressemble à ceci: http://www.example.com/image.jpg {? largeur, hauteur} < P> Et je veux faire une fonction soignée dans JavaScript pouvant traduire cela en une source d'image utilisable. C'est comme ça que je fais des choses comme ça plus tôt, mais ce n'est pas si très joli (exemple grossière): xxx

https://jsfiddle.net/nhxa5t02/

Comment résoudriez-vous cela d'une autre manière?


2 commentaires

Peut-être que vous aimerez cette expression plus parsederl = url.replace ('{? largeur, hauteur}', () => `? largeur = $ {largeur}`)


Oui en effet. Peut-être que je devrais faire cela avant de faire autre chose. Merci!


5 Réponses :


0
votes

Vous pouvez utiliser Couverts de modèles à construire la chaîne, donc largeur code> et hauteur code> sera interpolée xxx pré>

et peut peut-être la mettre à une fonction de réutilisation p >

const getImageUrl = (width, height) => {
  return `http://www.example.com/image.jpg{?${width},${height}}`
}


0 commentaires

0
votes

Vous pouvez créer une telle fonction utilitaire à l'aide de Couverts de modèle < / a>: xxx

et l'utiliser comme ceci: xxx



0
votes

Modification de votre solution xxx

fonction réutilisable xxx

La 2e approche est qu'il existe des valeurs par défaut si vous ne spécifiez aucun ParseDurl () fonctionnera parfaitement, mais si vous devez écraser l'un d'entre eux, passez des arguments en conséquence. Comme parsedurl (256, 512)


0 commentaires

0
votes

Si vous recevez l'URL comme "http://www.example.com/image.jpg (?widthheight}" code>, supprimez d'abord le {? Largeur, Hauteur} code>, puis ajoutez la hauteur et la largeur à l'aide des littéraux de gabarits.

const width = 1024;
const height = 768;

const parsedUrl = `${url.replace(/{.+}/,"")}?width=${width}&height=${height}`


0 commentaires

0
votes

Créer une variable pour la largeur et la hauteur dans l'URL elle-même a du sens. Vous pouvez soit directement remplacer les variables et enregistrer l'URL analysée dans une variable ou créer une méthode pour remplacer ces variables.

p>

const url = "http://www.example.com/image.jpg?width={width}&height={height}";

const width = 1024;
const height = 768;

const parsedUrl = url.replace("{width}", width).replace("{height}", height);

console.log(parsedUrl);


0 commentaires