如何使用DRY概念更有效地编写此代码?

问题描述

这是一段HTML表单的JavaScript代码。我想提高效率,不要多次写同一行;下面的代码有可能吗?

function resetOptions(location)
{   
    if (location=='country') 
    {   
        removeOptions(selected_address_zone)
        removeOptions(selected_address_region)
        removeOptions(selected_address_city)
        removeOptions(selected_address_area)
    }
    else if (location=='zone')
    {
        removeOptions(selected_address_region)
        removeOptions(selected_address_city)
        removeOptions(selected_address_area)
    }
    else if (location=='region')
    {
        removeOptions(selected_address_city)
        removeOptions(selected_address_area)
    }
    else
    {
        removeOptions(selected_address_area)
    }
    
}

解决方法

您可以使用switch语句重新编写而不会中断。这样,例如,如果该位置是一个国家/地区,它将执行下面的案例,直到找到休息为止。

  switch(location): {
    case: 'country': 
        removeOptions(selected_address_zone);
    case 'zone': 
        removeOptions(selected_address_region);
    case 'region':
        removeOptions(selected_address_city);
    default:
          removeOptions(selected_address_area);

  }
,

您可以为函数顶部的removeOptions()函数中传递的参数设置变量。

然后您可以根据函数参数调整参数。

查看removeOptions()函数及其参数会很有帮助。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...