abdellaui
Erfahrenes Mitglied
Ich habe mit Objekten und Array gearbeitet.
Die Beziehung sind folgend: Mitarbeiter ist an einem Leiter gebunden, diese ist wiederum an den Chef gebunden.
Bei console.log kannst du dir jede Stelle einzelt ansehen. (Chef/Leiter/Arbeiter).
Je nach der Position ist die Verzweigung mehr oder weniger.
Die Beziehung sind folgend: Mitarbeiter ist an einem Leiter gebunden, diese ist wiederum an den Chef gebunden.
Code:
function Firma(){
var chef = [];
var abteilungsleiter = [];
var mitarbeiter = [];
this.newChef = function(c) {
if (this.chef === undefined || this.chef === null) {
this.chef = [];
}
this.chef.push({name:c,leiter:[]});
}
this.addAbteilungsleiter = function(chefName, abteilungsleiterName) {
this2 = this;
if (this.abteilungsleiter === undefined || this.abteilungsleiter === null) {
this.abteilungsleiter = [];
}
abteilungsleiterObj = {name:abteilungsleiterName,mitarbeiter:[]};
this.chef.forEach(function(obj, index) {
if(obj.name==chefName){
this2.chef[index].leiter.push(abteilungsleiterObj);
}
});
this.abteilungsleiter.push(abteilungsleiterObj);
}
this.addMitarbeiter = function(abteilungsleiterName, mitarbeiterName){
this2 = this;
if (this.mitarbeiter === undefined || this.mitarbeiter === null) {
this.mitarbeiter = [];
}
mitarbeiterObj = {name:mitarbeiterName};
this.abteilungsleiter.forEach(function(obj, index) {
if(obj.name==abteilungsleiterName){
this2.abteilungsleiter[index].mitarbeiter.push(mitarbeiterObj);
}
});
this.mitarbeiter.push(mitarbeiterObj);
}
}
var myCompany = new Firma();
myCompany.newChef( "müller");
myCompany.newChef( "günther");
myCompany.addAbteilungsleiter( "müller", "maier" );
myCompany.addAbteilungsleiter( "müller", "frederick" );
myCompany.addAbteilungsleiter( "müller", "helmut" );
myCompany.addMitarbeiter( "maier", "hans" );
myCompany.addMitarbeiter( "maier", "hans2" );
myCompany.addMitarbeiter( "maier", "hans3" );
console.log( myCompany );
Bei console.log kannst du dir jede Stelle einzelt ansehen. (Chef/Leiter/Arbeiter).
Je nach der Position ist die Verzweigung mehr oder weniger.