Utilisation d'array

Résolu/Fermé
boti78 Messages postés 2 Date d'inscription jeudi 14 février 2019 Statut Membre Dernière intervention 15 février 2019 - 14 févr. 2019 à 16:24
jordane45 Messages postés 38164 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 mai 2024 - 15 févr. 2019 à 10:18
Bonjour,

Je bloque sur la création d'un code depuis plusieurs heures car je ne suis pas un expert en javascript.
Si vous pouviez m'aider ce serait super :)

J'avais fait ce code il y a plusieurs mois :
const array = [
647104001,
647104005,
650407941,
649235184,
650225605
];

var ref = dataLayer[0].prdref;

if(array.includes(parseInt(ref))) {
$('.product-price').after('<a href="https://www.xxxx.com/"><img style="width:60% !important; margin-top:5px;" src="https://dp8v87cz8a7qa.cloudfront.net/36952/5c3dd8c1993e41547557057.png" alt=""></a>');
}


Ce que j'aimerais c'est qu'en plus de vérifier si la référence du dataLayer se trouve dans le tableau, c'est de trouver l'url qui correspond à cette référence.

Voici les informations qu'il faudrait convertir en array :
647104001 > https://y.cloudfront.net/1
647104005 > https://y.cloudfront.net/2
650407941 > https://y.cloudfront.net/3
649235184 > https://y.cloudfront.net/4
650225605 > https://y.cloudfront.net/5


La logique serait :

SI la variable ref si trouve dans l'array

ALORS intégrer le code :
$('.product-price').after('<a href="https://www.xxxx.com/"><img style="width:60% !important; margin-top:5px;" src="https://dp8v87cz8a7qa.cloudfront.net/36952/5c3dd8c1993e41547557057.png" alt=""></a>');

MAIS dans ce code, j'ai besoin que le href soit remplacé par l'url correspondant à la référence du datalayer
$('.product-price').after('<a href="VARIABLE_URL"><img style="width:60% !important; margin-top:5px;" src="https://dp8v87cz8a7qa.cloudfront.net/36952/5c3dd8c1993e41547557057.png" alt=""></a>');

J'ai essayé pas mal de choses mais je ne sais pas bien utiliser les tableaux.

Pouvez-vous m'aider ?

Merci

1 réponse

jordane45 Messages postés 38164 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 mai 2024 4 658
14 févr. 2019 à 17:37
Bonjour,

Passe plutôt par un objet du genre
var tonarray = {
    "647104001":"https://y.cloudfront.net/1" ,
    "647104005":"https://y.cloudfront.net/2", 
    "650407941":"https://y.cloudfront.net/3", 
    "649235184":"https://y.cloudfront.net/4", 
    "650225605":"https://y.cloudfront.net/5",
  };
  
//on regarde si une clé existe  et on en récupère sa valeur..
if (tonarray.hasOwnProperty('649235184') ){
  alert("valeur trouvée pour 649235184  :"+tonarray['649235184']);
}

0
boti78 Messages postés 2 Date d'inscription jeudi 14 février 2019 Statut Membre Dernière intervention 15 février 2019
15 févr. 2019 à 10:17
Bonjour Jordane45,

Je viens d'utiliser ton code en apportant quelques changements et ça fonctionne parfaitement.

Un grand merci à toi !!!!

Excellente journée,
Thibault
0
jordane45 Messages postés 38164 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 mai 2024 4 658
15 févr. 2019 à 10:18
hello
content que ça te plaise.
N'oublie pas de mettre le sujet en résolu
https://www.commentcamarche.net/infos/25917-marquer-un-fil-de-discussion-comme-etant-resolu/

Merci.
0