Ich habe ein Array von Objekten (dieses Objekt enthält auch ein eigenes Array) Ich bin nicht sicher, warum, aber wenn ich einige Werte auf das Element-Array einer Instanz des Objekts in das Array von Objekten schieben scheint es auch um auf die anderen Element-Arrays auf allen anderen Array von Objekten zu schieben. Ich habe meinen Code unten angegeben:Javascript Array von Objekten, Objekte, die selbe Member-Array teilen?
var ImageGroup = {
GroupName:"",
haz:[]
};
var ImageHandler = {
ImageGroupsArray:[],
image_process: function() {
//Calling the function here...
//Pushing the objects
this.ImageGroupsArray.push(Object.create(ImageGroup));
this.ImageGroupsArray.push(Object.create(ImageGroup));
//Assigning some values
this.ImageGroupsArray[0].haz.push("Dog");
this.ImageGroupsArray[1].haz.push("Cat");
//Should output array with only 'Dog' in it
console.log(this.ImageGroupsArray[0].haz);
//Should output array with only 'Cat' in it
console.log(this.ImageGroupsArray[1].haz);
//Instead, both of these output ["Dog","Cat"]
//this.ImageGroupsArray[1].haz and this.ImageGroupsArray[0].haz point to same 'haz' array??
}
}
Dies geschieht nicht, wenn ich versuche, den Gruppennamen auf die gleiche Weise einzustellen. Was mache ich falsch? Danke für jede Hilfe im Voraus!
wo ist ImageGroupsArray definiert? –
teilen Sie bitte vollständigen Arbeitscode – Guillaume
Wie drücken Sie 'ImageGroup' Objekt in' ImageGroupArray'? –