Man könnte es mit einem Tisch orientierten Ansatz tun und ohne wiederholte Code (DRY) wie folgt aus:
var lookupInfo = {
house: {id: "accountID", prefix, "", suffix: "0200", table: "Content"},
street: {id: "accountID", prefix: "", suffix: "0000", table: "Content"},
city: {id: "categoryID", prefix: "", suffix: "", table: "Reference"},
location: {id: "examID", prefix: "0001", suffix: "", table: "Content"}
};
var primaryKey, data = lookupInfo[entity];
if (data) {
primaryKey = data.prefix + store.getItem(data.id) + data.suffix;
table = data.table;
}
Neben den Code zu minimieren und keinen Code zu wiederholen, es ist auch einfach mehr Optionen auf den Tisch hinzufügen ohne zusätzlichen Code zu schreiben.
Oder kann die Datentabelle ein wenig kompakten, wenn auch nicht ganz so elegant (von einer reinen Programmier Sicht wegen der harten codierten Konstanten) auf diese Weise hergestellt werden:
var lookupInfo = {
house: ["accountID", "", "0200", "Content"],
street: ["accountID", "", "0000", "Content"],
city: ["categoryID", "", "", "Reference"],
location: ["examID", "0001", "", "Content"]
};
var primaryKey, data = lookupInfo[entity];
if (data) {
primaryKey = data[1] + store.getItem(data[0]) + data[2];
table = data[3];
}
In jedem Fall erhalten Sie die Idee, eine Nachschlagetabelle für die Entität und dann einen tabellengesteuerten Ansatz für die verschiedenen Werte für jede Entität zu verwenden.
Verwenden Sie eine Schalterstatement wie dieses http://www.w3schools.com/js/js_switch.asp – devtut