使用for循环更快地分配包含jquery选择器的多个变量

时间:2018-06-07 10:51:13

标签: javascript jquery jquery-selectors

如何减少以下代码?我想在更少的行中分配多个变量,也许for循环可能会有所帮助。

let a1 = $('[name="answer[1]"]:checked').val(),
    a2 = $('[name="answer[2]"]:checked').val(),
    a3 = $('[name="answer[3]"]:checked').val(),
    a4 = $('[name="answer[4]"]:checked').val(),
    a5 = $('[name="answer[5]"]:checked').val(),
    a6 = $('[name="answer[6]"]:checked').val(),
    a7 = $('[name="answer[7]"]:checked').val();

我尝试过但没有工作:

var i;
for (i = 1; i < 8; i++) {
    let a[i] = $('[name="answer['+i+']"]:checked').val();
}

3 个答案:

答案 0 :(得分:1)

在浏览器环境中,您可以通过设置window对象的属性来分配变量:

&#13;
&#13;
for (let i = 0; i < 8; i++) {
  window["a"+i] = "something "+i;
}

console.log(a2, a3);
&#13;
&#13;
&#13;

至于你的代码,请使用:

window["a"+i] = $('[name="answer['+i+']"]:checked').val();

for循环

答案 1 :(得分:0)

我能想到的是这个

var i;
for (i = 1; i < 8; i++) { 
  let a[i] = $('[name="answer['+i+']"]:checked').val();
}

答案 2 :(得分:0)

  for (var i = 0; i < 8; ++i) {
      a[i] = "whatever";
  }

发布于  JavaScript: Dynamically Creating Variables for Loops