【问题标题】:How can I best optimize my angular function?我怎样才能最好地优化我的角度函数?
【发布时间】:2022-01-06 09:48:02
【问题描述】:
我需要你的帮助,我有一个代码,我需要优化它,有人知道这是怎么回事吗?
这是我的代码:
handlerChangeInfo(value, fieldName: string) {
if (fieldName === 'fullName') {
this.billingFields.full_name = value;
}
if (fieldName === 'address') {
this.billingFields.address = value;
}
if (fieldName === 'postalCode') {
this.billingFields.postal_code = value;
}
if (fieldName === 'city') {
this.billingFields.city = value;
}
if (fieldName === 'stateOrProvince') {
this.billingFields.state_or_province = value;
}
if (fieldName === 'taxId') {
this.billingFields.tax_id = value;
}
}
【问题讨论】:
标签:
javascript
angular
typescript
【解决方案1】:
您可以创建一个对象来将您的字段名称值映射到对象键名称
const obj = {
fullName: 'full_name',
address: 'address',
postalCode: 'postal_code',
city: 'city',
stateOrProvince: 'state_or_province',
taxId: 'tax_id'
}
handlerChangeInfo(value, fieldName: string) {
if (obj[fieldName]) {
this.billingFields[obj[fieldName]] = value;
}
}
【解决方案2】:
地图版本
const obj = new Map([
['fullName', 'full_name'],
['address', 'address'],
['postalCode', 'postal_code'],
['city', 'city'],
['stateOrProvince', 'state_or_province'],
['taxId', 'tax_id']
]);
handlerChangeInfo(value, fieldName: string) {
if (obj.get(fieldName)) {
this.billingFields[obj.get(fieldName)] = value;
}
}