Установить переменную с помощью цикла (Javascript) - PullRequest
0 голосов
/ 26 октября 2018

Я новичок в JS и хотел бы установить новые переменные автоматически через цикл For, например:

var mybox0

var mybox1

и т.д ...

var board = document.getElementById('board');
var boxes = [];

for(var i=0; i<9; i++){
    var myBox = document.createElement('div');
    board.appendChild(myBox);
    myBox.id = "box" + i;
    boxes.push(myBox);
}

1 Ответ

0 голосов
/ 26 октября 2018

Добро пожаловать в JavaScript!Всегда приятно иметь другого в сгибе.

Короткий ответ: это невозможно в JavaScript.У вас действительно есть два варианта для этого.Вы уже реализовали первый: массивы.Это хороший вариант, и я бы выбрал его лично.

Альтернативой, упомянутой в комментариях к вашему вопросу, было бы вместо этого использовать объект.Код будет выглядеть примерно так:

var board = document.getElementById('board');
var boxes = {};

for(var i = 0; i < 9; i++) {
    var myBox = document.createElement('div');
    board.appendChild(myBox);
    myBox.id = "box" + i;
    boxes['mybox' + i] = myBox;
}

Затем вы можете ссылаться на свои переменные следующим образом:

boxes.mybox0; 
boxes.mybox1;

Вместо этого:

boxes[0];
boxes[1];

Мое мнениекода внутри цикла for состоит в том, что код массива более читабелен, чем объектный код.Код, который использует созданный объект, одинаково читаем для кода массива.Кроме того, массив более универсален, так как вы можете выполнять итерации по нему проще, используя такие функции, как .map и .forEach.

Так что я не думаю, что можно что-то извлечь из использования объектов для этогои немного потерять.Придерживайтесь массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...