Je crée deux objets, struct_one
et le struct_two
auxiliaire pour les données primaires. Après avoir ajouté des données à l'aide de .push
. Toutes les données du tableau struct_one
, ont une dernière les données.Pourquoi mon objet ne sauvegarde que les dernières données
var struct_one = { comments:[{comment:String}] };
var struct_two = {comment:String};
function taskElementWork() {
this. createBlockSaveNew = function() {
struct_two.comment = 1 + "RED";
struct_one.comments.push(struct_two);
console.log(struct_one.comments[1].comment); // = 1RED
struct_two.comment = 2 + "RED";
struct_one.comments.push(struct_two);
console.log(struct_one.comments[2].comment); // = 2RED
struct_two.comment = 3 + "RED";
struct_one.comments.push(struct_two);
console.log(struct_one.comments[3].comment); // = 3RED
console.log(struct_one.comments[1].comment); // = 3RED -> Why!
}
}
test = new taskElementWork();
test.createBlockSaveNew();
Pouvez-vous trier votre indentation. – dwjohnston
Pourrait-il s'agir d'un problème d'index? Peut-être commencer par struct_one.comments [0] .comment, puis aller à 1, puis 2 –
Aussi 'this' dans' this.createBlockSaveNew' ne fait probablement pas ce que vous pensez qu'il fait. – Andy