Inserer Objet dans un tableau.
Résolu
Exileur
Messages postés
1475
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous,
Je vous explique mon problème, je souhaite créer différent objets puis, les stocker dans un tableau mais quand j'essaie de récupérer la variable dans le tableau, elle est considéré comme indéfinie :
Console.js :
function Objet (i, n, u, t)
{
this.id = i,
this.nom = n,
this.url = u,
this.type = t;
}
sprite.js
objets = new Array();
objets[0] = new Objet('1, MUR, image/mur.jpg, 0');
objets[1] = new Objet('2, CAISSE, image/caisse.jpg, 0');
objets[2] = new Objet('3, OBJECTIF, image/obj.jpg, 0');
interface.js
obj_nom = objets[o].nom;
obj_url = 'url('+objets[o].url+')';
alert(obj_nom+'-'+obj_url);
Voila, quand j'exécute le code, alert me renvoie undefinied-undefinied
Tout les fichiers sont bien inclu et il ne me semble pas y avoir d'erreurs
Je pensais que ça venais du tableau alors j'ai essayé :
objetst = new Objet('1, MUR, image/mur.jpg, 0');
obj_nom = objetst.nom;
obj_url = 'url('+objetst.url+')';
alert(obj_nom+'-'+obj_url);
Sans plus de résultat, je pense qu'il y a quelque chose qui doit clocher au niveau de la fonction, mais je ne vois pas quoi. Est-ce possible déjà ?
Je vous remercie de votre aide !!!!
Cordialement
Exlieur
N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.
Je vous explique mon problème, je souhaite créer différent objets puis, les stocker dans un tableau mais quand j'essaie de récupérer la variable dans le tableau, elle est considéré comme indéfinie :
Console.js :
function Objet (i, n, u, t)
{
this.id = i,
this.nom = n,
this.url = u,
this.type = t;
}
sprite.js
objets = new Array();
objets[0] = new Objet('1, MUR, image/mur.jpg, 0');
objets[1] = new Objet('2, CAISSE, image/caisse.jpg, 0');
objets[2] = new Objet('3, OBJECTIF, image/obj.jpg, 0');
interface.js
obj_nom = objets[o].nom;
obj_url = 'url('+objets[o].url+')';
alert(obj_nom+'-'+obj_url);
Voila, quand j'exécute le code, alert me renvoie undefinied-undefinied
Tout les fichiers sont bien inclu et il ne me semble pas y avoir d'erreurs
Je pensais que ça venais du tableau alors j'ai essayé :
objetst = new Objet('1, MUR, image/mur.jpg, 0');
obj_nom = objetst.nom;
obj_url = 'url('+objetst.url+')';
alert(obj_nom+'-'+obj_url);
Sans plus de résultat, je pense qu'il y a quelque chose qui doit clocher au niveau de la fonction, mais je ne vois pas quoi. Est-ce possible déjà ?
Je vous remercie de votre aide !!!!
Cordialement
Exlieur
N'oubliez pas de marquez votre post comme résolut lorsque vous avez eu les réponses à vos questions...
Au royaume des aveugles, les borgnes sont rois.
A voir également:
- Inserer Objet dans un tableau.
- Tableau word - Guide
- Insérer une vidéo dans powerpoint - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Insérer signature word - Guide
3 réponses
Bonjour
Tu définis ta fonction Objet avec 4 paramètres, mais tu en passes un seul lors du 'new'
En effet, quand tu écris '1, MUR, image/mur.jpg, 0', tu n'écris pas 4 paramètres, mais une seule chaîne de caractères (à cause des apostrophes)
Tu aurais dû écrire
Tu définis ta fonction Objet avec 4 paramètres, mais tu en passes un seul lors du 'new'
En effet, quand tu écris '1, MUR, image/mur.jpg, 0', tu n'écris pas 4 paramètres, mais une seule chaîne de caractères (à cause des apostrophes)
Tu aurais dû écrire
objets[0] = new Objet(1, 'MUR', 'image/mur.jpg', 0);
obj_url = 'url('+objets[o].url+')'; <--- Attention, tu as mis un o (lettre) à la place d'un 0 (chiffre) !!
C'est pareil sur plusieurs de tes lignes...
C'est pareil sur plusieurs de tes lignes...
Le code n'est pas complet :
for (o = 0; o < objets.length; o++)
{
obj_nom = objets[o].nom;
obj_url = 'url('+objets[o].url+')';
switch (table[i][j])
{
case obj_nom:
document.getElementById(id).style.backgroundImage = obj_url;
break;
}
}
Voila la raison du "o".
j'ai fait un alert objets.length qui me retourne bien le nombre.
j'ai aussi fait un alert objets[0] qui me retourne bien Object
MAIS : alert objets[0].nom me retourne undefinied
for (o = 0; o < objets.length; o++)
{
obj_nom = objets[o].nom;
obj_url = 'url('+objets[o].url+')';
switch (table[i][j])
{
case obj_nom:
document.getElementById(id).style.backgroundImage = obj_url;
break;
}
}
Voila la raison du "o".
j'ai fait un alert objets.length qui me retourne bien le nombre.
j'ai aussi fait un alert objets[0] qui me retourne bien Object
MAIS : alert objets[0].nom me retourne undefinied
Merci de votre aide !
Je me casser la téte a trouver une autre solution avec les tableaux multi dimension x)