【问题标题】: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;
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2018-08-11
      • 2021-04-30
      • 1970-01-01
      相关资源
      最近更新 更多