Alors voilà, j'ai un gros point sur lequel je bloque et demande de l'aide sur celui-ci.
Voici l'histoire :
- Code: Tout sélectionner
for (var p in properties) {
object[p] = function() {
return another_object[p] ;
}
}
Le problème de cet algorithme est que le "p" du "return" ne s'applique que lorsque la fonction est appelée, donc "p" sera dans tous les cas égal au dernier élément de properties.
Voici un exemple de résultats :
- Code: Tout sélectionner
var object = {} ;
var another_object = {
a:10, b:11, c:12, d:13
}
var properties = {
a:1, b:2, c:3, d:4
} ;
//Execution du code précédent...
alert(object['a']()) ; //Affiche 13.
alert(object['b']()) ; //Affiche 13.
alert(object['c']()) ; //Affiche 13.
alert(object['d']()) ; //Affiche 13.
En HTML/JavaScript c'est simple, il suffit d'ajouter un attribut à l'élément comprenant l'indice d'un tableau par exemple ; mais là, je ne trouve pas de moyen pour garder le bon "p" pour chaque fonctions de object.
Avez-vous une solution ? Merci d'avance pour vos réponses.