Как я могу уменьшить приведенный ниже код? Я хочу назначить несколько переменных в меньшем количестве строк, возможно, цикл 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();
}
Возможный дубликат JavaScript: динамическое создание переменных для циклов
Мой вопрос содержит переменные с селекторами jquery



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я могу думать об этом
var i;
for (i = 1; i < 8; i++) {
let a[i] = $('[name = "answer['+i+']"]:checked').val();
}
for (var i = 0; i < 8; ++i) {
a[i] = "whatever";
}
как опубликовано в JavaScript: динамическое создание переменных для циклов
В среде браузера вы можете назначать переменные, задав свойство объекта window:
for (let i = 0; i < 8; i++) {
window["a"+i] = "something "+i;
}
console.info(a2, a3);Что касается вашего кода, используйте это:
window["a"+i] = $('[name = "answer['+i+']"]:checked').val();
В шлейфе for
Можете ли вы поставить ответ зациклив на этом $('[name = "answer[1]"]:checked').val()?
Я добавил пример для этого.
Это для JS в браузере?