javascript - JavaScript 中的 if-else 条件更动态

标签 javascript if-statement

我有一个 JavaScript 代码,它有许多针对不同品牌的 if-else 条件 w.r.t html

function get_brand_label(b) {
    var brand1label = '<div class="brand1_label">B1</div>';
    var brand2label = '<div class="brand2_label">B2</div>';
    var brand3label = '<div class="brand3_label">B3</div>';
    var brand4label = '<div class="brand4_label">B4</div>';

    if (b == 'Brand1') {
        return brand1label;
    } else if (b == 'Brand2') {
        return brand2label;
    } else if (b == 'Brand3') {
        return brand3label;
    } else if (b == 'Brand4') {
        return brand4label;
    }
}

我在另一个函数中使用这个 get_brand_label 函数作为:

var label = get_brand_label(d.brand);

以后如果要添加B5和B6,需要添加新的if-else条件

那么在添加新品牌之前,有没有办法让上面的现有代码更具动态性,这样我以后就不需要在添加新品牌时添加 if-else 条件了

最佳答案

您可以只制作标签和品牌的映射,然后根据品牌返回标签:

const brandLabelMap = {
  Brand1: '<div class="brand1_label">B1</div>',
  Brand2: '<div class="brand2_label">B2</div>',
  Brand3: '<div class="brand3_label">B3</div>',
  Brand4: '<div class="brand4_label">B4</div>'
};

function get_brand_label(b) {
  return brandLabelMap[b];
}

关于javascript - JavaScript 中的 if-else 条件更动态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57348560/

相关文章:

javascript - 如何在 Node js中的异步函数内顺序执行代码

javascript - Jquery CPU 使用率

ios - 使用 viewDidLayoutSubviews 检测 UITableView 滚动会导致过多的回调

php - 将 int 与 string 进行比较会导致 php 出现奇怪的结果?

javascript - 当我在某些移动浏览器中按播放时,YouTube API暂停

javascript - 如何对对象属性使用 JavaScript 逻辑运算符?

javascript - 如何在 React 中获取 DOM 树中同级组件或其他组件的引用?

if-statement - 在 Sass 中,使用插值的 if 语句始终求值为 true

bash - Bash 中 "and"语句的 "if"运算符

javascript - 如何使用 if/else 语句编写 JavaScript 函数来检查 <div> 类是否包含 <img> 或 <img> 类