javascript - 更简单的 ParseInt 方法

标签 javascript radio-button parseint

我正在处理这个将计算数据的页面

如果我使用 document.querySelector("[name=\"st1\"]:checked").value; 它是字符串,所以我必须这样做

var res1 = document.querySelector("[name=\"st1\"]:checked").value;
var res1_p = parseInt(res1);

但是考虑到我有 100 个问题,这需要很多时间。

我想知道我是否可以做一些事情来改进/加快这个过程?

完整代码如下

var res1 = document.querySelector("[name=\"st1\"]:checked").value;
var res1_p = parseInt(res1);
var res2 = document.querySelector("[name=\"st2\"]:checked").value;
var res2_p = parseInt(res2);
var res3 = document.querySelector("[name=\"st3\"]:checked").value;
var res3_p = parseInt(res3);
var res4 = document.querySelector("[name=\"st4\"]:checked").value;
var res4_p = parseInt(res4);
var res5 = document.querySelector("[name=\"st5\"]:checked").value;
var res5_p = parseInt(res5);
var res6 = document.querySelector("[name=\"st6\"]:checked").value;
var res6_p = parseInt(res6);
var res7 = document.querySelector("[name=\"st7\"]:checked").value;
var res7_p = parseInt(res7);
var res8 = document.querySelector("[name=\"st8\"]:checked").value;
var res8_p = parseInt(res8);
var res9 = document.querySelector("[name=\"st9\"]:checked").value;
var res9_p = parseInt(res9);
var res10 = document.querySelector("[name=\"st10\"]:checked").value;
var res10_p = parseInt(res10);
var res11 = document.querySelector("[name=\"st11\"]:checked").value;
var res11_p = parseInt(res11);
var res12 = document.querySelector("[name=\"st12\"]:checked").value;
var res12_p = parseInt(res12);
var res13 = document.querySelector("[name=\"st13\"]:checked").value;
var res13_p = parseInt(res13);
var res14 = document.querySelector("[name=\"st14\"]:checked").value;
var res14_p = parseInt(res14);
var res15 = document.querySelector("[name=\"st15\"]:checked").value;
var res15_p = parseInt(res15);
var res16 = document.querySelector("[name=\"st16\"]:checked").value;
var res16_p = parseInt(res16);
var res17 = document.querySelector("[name=\"st17\"]:checked").value;
var res17_p = parseInt(res17);
var res18 = document.querySelector("[name=\"st18\"]:checked").value;
var res18_p = parseInt(res18);
var res19 = document.querySelector("[name=\"st19\"]:checked").value;
var res19_p = parseInt(res19);
var res20 = document.querySelector("[name=\"st20\"]:checked").value;
var res20_p = parseInt(res20);
var res21 = document.querySelector("[name=\"st21\"]:checked").value;
var res21_p = parseInt(res21);
// Calculate 
var BDI_score = res1_p + res2_p + res3_p + res4_p + res5_p + res6_p + res7_p + res8_p + res9_p + res10_p + res11_p + res12_p + res13_p + res14_p + res15_p + res16_p + res17_p + res18_p + res19_p + res20_p + res21_p;

最佳答案

使用looptemplate string对于索引,如果您不需要存储单个值:

var BDI_score = 0;

for(var i = 1; i <= 21; i++) {
  var res = document.querySelector(`[name="st${i}"]:checked`).value;
  BDI_score += parseInt(res);
}

关于javascript - 更简单的 ParseInt 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48645141/

相关文章:

javascript - 使用 javaScript 解析 SVG 路径字符串以提取初始 x,y 坐标的最简单方法

java - 无法使用 SHA-256 和 salt 创建用于密码散列的 Java 方法的 Javascript 模拟

javascript - 如何动态禁用单选按钮组

带有基数 16 问题的 Javascript parseInt

java - 如何分割用户输入的字符串

Javascript:为什么即使使用 parseInt() 函数后我还是得到 NaN?

javascript - 让绘图留在 Canvas 上

javascript - 使用另一个属性计算对象属性值

css - 使用图像进行单选,但隐藏单选按钮并使用图像进行选择