私は以下のコードを持っています。長くて複雑に見えるので、さらに条件を追加する必要があります。このコードを単純化する方法はありますか?私が考えることができるのは、CityスイッチとMenuスイッチを組み合わせることだけですが、そうする場合は、Cityのpk値とMenuの別の方法でpk値を取得する必要があります。javascriptは、スイッチと同じことを行う他の方法を提供しますか?長いコードリストで申し訳ありませんが、私はすべてを含めるべきだと思いました。
function getParams(entity) {
var store = window.localStorage;
var table = "Content";
switch (entity) {
case "City":
if (store.getItem('AccountID')) {
pk = store.getItem('AccountID') + "04" + "000";
return {
pk: pk,
param: '?pk=' + pk,
table: table,
rc: true
}
} else {
paramOnFailure("Please reselect Account");
return { rc: false }
}
break;
case "Menu":
if (store.getItem('AccountID')) {
pk = store.getItem('AccountID') + "00" + "000";
return {
pk: pk,
param: '?pk=' + pk,
table: table,
rc: true
}
} else {
paramOnFailure("Please reselect Account");
return { rc: false }
}
break;
case "Page":
if (store.getItem('AccountID') && store.getItem('PageID')) {
pk = store.getItem('AccountID') + store.getItem('PageID') + "000";
return {
pk: pk,
param: '?pk=' + pk,
table: table,
rc: true
}
} else {
paramOnFailure("Please reselect Account and Page Type");
return { rc: false }
}
break;
case "Question":
if (store.getItem('AccountID') &&
store.getItem('CityID') &&
store.getItem('TopicID') ) {
pk = store.getItem('AccountID') + store.getItem('CityID');
return {
pk: pk,
param: '?pk=' + pk + '&rk=' + store.getItem('TopicID'),
table: "Question",
rc: true
}
} else {
paramOnFailure("Please reselect Account, City and Topic");
return { rc: false }
}
break;
case "Reference":
if (store.getItem('ReferenceID')) {
pk = store.getItem('ReferenceID');
return {
pk: pk,
param: '?pk=' + pk,
table: "Reference",
rc: true
}
} else {
paramOnFailure("Please reselect Reference");
return { rc: false }
}
break;
case "Topic":
if (store.getItem('AccountID') && store.getItem('CityID')) {
pk = store.getItem('AccountID') + "05" + store.getItem('CityID');
return {
pk: pk,
param: parameters = '?pk=' + pk,
table: table,
rc: true
}
} else {
paramOnFailure("Please reselect Account and City");
return { rc: false }
}
break;
default:
;
}