У меня ниже const и Model,
export const Motors = {
Cars: [
{'name': 'BMW', 'selected': true},
{'name': 'Audi', 'selected': true}
],
Trucks: [
{'name': 'F150', 'selected': true},
{'name': 'z320', 'selected': true}
]
};
Model,
export interface SomeCarRelatedModel {
abc: string;
def: string;
}
export interface SomeTruckRelatedModel {
xyz: string;
uvw: string;
}
Я делаю простую функцию карты, чтобы проверить, существует ли свойство abc и содержит ли значение, если это так, установитевыбрано значение true, иначе false и т. д., а также для других свойств.
public motors = Motors //exported and assigned to local variable
ngOnint() {
this.motors.Cars.map(m => {
if(m.name === 'BMW'){
m.selected = this.someCarRelateadModel.abc ?
this.someCarRelateadModel.abc.length > 0 ? true : false;
} else if(m.name === 'Audi'){
m.selected = this.someCarRelateadModel.def ?
this.someCarRelateadModel.def.length > 0 ? true : false;
}
});
this.motors.Trucks.map(m => {
if(m.name === 'F150'){
m.selected = this.someTruckRelateadModel.xyz ?
this.someTruckRelateadModel.xyz.length > 0 ? true : false;
} else if(m.name === 'z320'){
m.selected = this.someTruckRelateadModel.uvw ?
this.someCarRelateadModel.uvw.length > 0 ? true : false;
}
});
}
Мой код в методе ngOnint включает в себя много операторов if.Можно ли это изменить, чтобы лучше и чище код?