javascript - If 语句 - 如何减少代码量。 (循环?数组?)Javascript

标签 javascript

我有 10 个变量。 q1 到 q10

我的脚本如下:

if (q1 == '1') { q1 = 'Yes'; 
} else if (q1 == '2') { q1 = 'No';
} else { q1 = 'Did Not Answer'; }

我已经输入了所有 10 个变量。我不确定是否可以在该变量中插入另一个变量。

我正在尝试做这样的事情:

var ex = '1';
while (ex < 11) { 
if (q[ex] == '1') { q[ex] = 'Yes'; ex++;
} else if (q[ex] == '0') { q[ex] = 'No'; ex++;
} else { q[ex] = 'Did Not Answer'; ex++ }

基本上我想消除 4 行代码 x 10 个变量。

[ex] 是变量内的变量(代表 q1,确定 q1 = 是、否或未回答,然后将 1 添加到 q[ex],现在将是 q2....

我知道 [] 可能不正确,我只是不知道如何以一种可以理解的方式解释这一点。

谢谢。

最佳答案

这不会完全限制它,但你可以创建一个函数

translate = function(v)
{
    if (v === '1') { 
        v = 'Yes'; 
    } else if (v === '2') { 
        v = 'No';
    } else { 
        v = 'Did Not Answer'; 
    }
  return var
}

然后为每个变量调用translate(q1)等。这会将其移动到约 16 行而不是 40 行,并避免重复代码。

您还可以将变量重组为变量数组并像这样快速循环,但我不知道它们都在哪里定义以及这对您来说如何工作。 编辑:贝尔吉有一个很好的例子。如果您可以像这样改革变量,那是最好的方法。

关于javascript - If 语句 - 如何减少代码量。 (循环?数组?)Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232092/

相关文章:

javascript - 如何从 Google map 迁移到 TomTom

javascript - Reactjs - 使用 xlsx.utils.json_to_sheet 导出到 Excel

javascript - 这个侧边栏的高度是如何计算的?

javascript - Regex - 使用 Javascript/Regex 从字符串中删除一个值

javascript - npm 链接不适用于 angular-cli 创建的项目

javascript - d3.js v4 中的 d3.locale(),本地化

javascript - 如何在细箭头函数中包含多个语句?

javascript:返回两个字符串之间的字符串相似度分数

javascript - 使用 Angular 和 Rxjs 处理多个 HTTP 请求并返回结果

javascript - 单击按钮时触发图像像素